mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 20:02:27 +03:00
csv: also recognise .tsv, .ssv extensions; document thoroughly (#1179)
This commit is contained in:
parent
9bd7a713f9
commit
80ab45984b
@ -82,7 +82,7 @@ type Field = String
|
||||
reader :: Reader
|
||||
reader = Reader
|
||||
{rFormat = "csv"
|
||||
,rExtensions = ["csv"]
|
||||
,rExtensions = ["csv","tsv","ssv"]
|
||||
,rParser = parse
|
||||
,rExperimental = False
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ CSV - how hledger reads CSV data, and the CSV rules file format
|
||||
|
||||
hledger can read
|
||||
[CSV](http://en.wikipedia.org/wiki/Comma-separated_values)
|
||||
(comma-separated value, or character-separated value) files as if they were journal files,
|
||||
(Comma Separated Value/Character Separated Value) files as if they were journal files,
|
||||
automatically converting each CSV record into a transaction. (To
|
||||
learn about *writing* CSV, see [CSV output](hledger.html#csv-output).)
|
||||
|
||||
@ -48,7 +48,10 @@ these are described more fully below, after the examples:
|
||||
[**`include`**](#include) inline another CSV rules file
|
||||
------------------------------------------- ---------------------------------------------------
|
||||
|
||||
There's also a [Convert CSV files](convert-csv-files.html) tutorial on hledger.org.
|
||||
Note, for best error messages when reading CSV files, use a `.csv`, `.tsv` or `.ssv`
|
||||
file extension or file prefix - see [File Extension](#file-extension) below.
|
||||
|
||||
There's an introductory [Convert CSV files](convert-csv-files.html) tutorial on hledger.org.
|
||||
|
||||
# EXAMPLES
|
||||
|
||||
@ -490,6 +493,7 @@ words `TAB` or `SPACE`. Eg to read TSV (Tab Separated Values), use:
|
||||
separator TAB
|
||||
```
|
||||
|
||||
See also: [File Extension](#file-extension).
|
||||
|
||||
## `if`
|
||||
|
||||
@ -677,11 +681,28 @@ When CSV values are enclosed in quotes, note:
|
||||
- they must be double quotes (not single quotes)
|
||||
- spaces outside the quotes are [not allowed](https://stackoverflow.com/questions/4863852/space-before-quote-in-csv-field)
|
||||
|
||||
## File Extension
|
||||
|
||||
CSV ("Character Separated Values") files
|
||||
should be named with one of these filename extensions: `.csv`, `.ssv`, `.tsv`.
|
||||
Or, the file path should be prefixed with one of `csv:`, `ssv:`, `tsv:`.
|
||||
This helps hledger identify the format and show the right error messages.
|
||||
For example:
|
||||
```shell
|
||||
$ hledger -f foo.ssv print
|
||||
```
|
||||
or:
|
||||
```
|
||||
$ cat foo | hledger -f ssv:- foo
|
||||
```
|
||||
More about this: [Input files](hledger.html#input-files) in the hledger manual.
|
||||
|
||||
## Reading multiple CSV files
|
||||
|
||||
If you use multiple `-f` options to read multiple CSV files at once,
|
||||
hledger will look for a correspondingly-named rules file for each CSV file.
|
||||
But if you use the `--rules-file` option, that rules file will be used for all the CSV files.
|
||||
hledger will look for a correspondingly-named rules file for each CSV
|
||||
file. But if you use the `--rules-file` option, that rules file will
|
||||
be used for all the CSV files.
|
||||
|
||||
## Valid transactions
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user