Skip to content

Commit

Permalink
Read csv records with different delimiter
Browse files Browse the repository at this point in the history
  • Loading branch information
Alisha committed Jul 15, 2017
1 parent 99830f5 commit fa47ae2
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 1 deletion.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ byteorder = "1.0"
clap = "2.0"
crossbeam = "0.2"
chrono = "0.3"
csv = "1.0.0-beta.3"
data-encoding = "2.0.0-rc.1"
error-chain = "0.10"
flate2 = "0.2.19"
Expand Down
43 changes: 42 additions & 1 deletion src/encoding.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
| [Encode a string as application/x-www-form-urlencoded][ex-urlencoded] | [![url-badge]][url] | [![cat-encoding-badge]][cat-encoding] |
| [Encode and decode hex][ex-hex-encode-decode] | [![data-encoding-badge]][data-encoding] | [![cat-encoding-badge]][cat-encoding] |
| [Encode and decode base64][ex-base64] | [![base64-badge]][base64] | [![cat-encoding-badge]][cat-encoding] |
| [Read CSV records with different delimeter][ex-csv-delimiter] | [![csv-badge]][csv] | [![cat-encoding-badge]][cat-encoding] |

[ex-json-value]: #ex-json-value
<a name="ex-json-value"></a>
Expand Down Expand Up @@ -344,6 +345,45 @@ fn run() -> Result<()> {
# quick_main!(run);
```

[ex-csv-delimiter]: #ex-csv-delimiter
<a name="ex-csv-delimiter"></a>
## Read CSV records with different delimeter

[![csv-badge]][csv] [![cat-encoding-badge]][cat-encoding]

Reads CSV records with [`delimiter`] other than ','

[`delimiter`]: https://docs.rs/csv/1.0.0-beta.3/csv/struct.ReaderBuilder.html#method.delimiter

```rust
# #[macro_use]
# extern crate error_chain;
extern crate csv;

use csv::ReaderBuilder;
#
# error_chain! {
# foreign_links {
# CsvError(csv::Error);
# }
# }

fn run() -> Result<()> {
let data = "name-place-id
Mark-Melbourne-46
Ashley-Zurich-92";

let mut reader = ReaderBuilder::new().delimiter(b'-').from_reader(data.as_bytes());
for result in reader.records() {
println!("{:?}", result?);
}

Ok(())
}
#
# quick_main!(run);
```

<!-- Categories -->

[cat-encoding-badge]: https://badge-cache.kominick.com/badge/encoding--x.svg?style=social
Expand All @@ -361,7 +401,8 @@ fn run() -> Result<()> {
[toml]: https://docs.rs/toml/
[url-badge]: https://badge-cache.kominick.com/crates/v/url.svg?label=url
[url]: https://docs.rs/url/

[csv-badge]: https://badge-cache.kominick.com/crates/v/csv.svg?label=csv
[csv]: https://docs.rs/csv/


<!-- Reference -->
Expand Down
4 changes: 4 additions & 0 deletions src/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ community. It needs and welcomes help. For details see
| [Encode a string as application/x-www-form-urlencoded][ex-urlencoded] | [![url-badge]][url] | [![cat-encoding-badge]][cat-encoding] |
| [Encode and decode hex][ex-hex-encode-decode] | [![data-encoding-badge]][data-encoding] | [![cat-encoding-badge]][cat-encoding] |
| [Encode and decode base64][ex-base64] | [![base64-badge]][base64] | [![cat-encoding-badge]][cat-encoding] |
| [Read CSV records with different delimeter][ex-csv-delimiter] | [![csv-badge]][csv] | [![cat-encoding-badge]][cat-encoding] |

## [Concurrency](concurrency.html)

Expand Down Expand Up @@ -151,6 +152,8 @@ Keep lines sorted.
[clap]: https://docs.rs/clap/
[crossbeam-badge]: https://badge-cache.kominick.com/crates/v/crossbeam.svg?label=crossbeam
[crossbeam]: https://docs.rs/crossbeam/
[csv-badge]: https://badge-cache.kominick.com/crates/v/csv.svg?label=csv
[csv]: https://docs.rs/csv/
[data-encoding-badge]: https://badge-cache.kominick.com/crates/v/data-encoding.svg?label=data-encoding
[data-encoding]: https://github.com/ia0/data-encoding
[env_logger-badge]: https://badge-cache.kominick.com/crates/v/env_logger.svg?label=env_logger
Expand Down Expand Up @@ -210,6 +213,7 @@ Keep lines sorted.
[ex-byteorder-le]: basics.html#ex-byteorder-le
[ex-clap-basic]: app.html#ex-clap-basic
[ex-crossbeam-spawn]: concurrency.html#ex-crossbeam-spawn
[ex-csv-delimiter]: encoding.html#ex-csv-delimiter
[ex-threadpool-fractal]: concurrency.html#ex-threadpool-fractal
[ex-dedup-filenames]: app.html#ex-dedup-filenames
[ex-extract-links-webpage]: net.html#ex-extract-links-webpage
Expand Down

0 comments on commit fa47ae2

Please sign in to comment.