mirror of
https://github.com/FourierTransformer/ftcsv.git
synced 2024-11-28 15:04:22 +00:00
86686314e0
## Features * Can now parse files line by line in a fixed-size reading mode * Now has an option to ignore quotes when parsing ## Improvements * Speed increases in vanilla Lua and LuaJIT (benchmarks updated!) * Refactored code for easier maintenance ## Bugfixes * Better handling of multiple escaped quotes in vanilla lua (thanks @fredrikj83 #25)
2.0 KiB
2.0 KiB
Error Handling
Below you can find a more detailed explanation of some of the errors that can be encountered while using ftcsv. For parsing, examples of these files can be found in /spec/bad_csvs/
Parsing
Note: [row_number]
indicates the row number of the parsed lua table. As such, it will be one off from the line number in the csv. However, for header-less files, the row returned will match the csv line number.
Error Message | Detailed Explanation |
---|---|
ftcsv: Cannot parse an empty file | The file passed in contains no information. It is an empty file. |
ftcsv: Cannot parse a file which contains empty headers | If a header field contains no information, then it can't be parsed (ex: Name,City,,Zipcode ) |
ftcsv: too few columns in row [row_number] | The number of columns is less than the amount in the header after transformations (renaming, keeping certain fields, etc) |
ftcsv: too many columns in row [row_number] | The number of columns is greater than the amount in the header after transformations. It can't map the field's count with an existing header. |
ftcsv: File not found at [path] | When loading, lua can't open the file at [path] |
ftcsv: fieldsToKeep only works with header-less files when using the 'rename' functionality | when dealing with header-less files, you can only use the fieldsToKeep if you use rename. The fields are limited after the renaming happens |
ftcsv: bufferSize needs to be larger to parse this file | The buffer size selected is too small to parse the file. It must be at least the length of the longest row (but, for performance, should probably be a bit larger). |
ftcsv: parseLine currently doesn't support loading from string | parseLine relies on reading a file a few bytes at a time and currently doesn't work on strings |
ftcsv: bufferSize can only be specified using 'parseLine'. When using 'parse', the entire file is read into memory | bufferSize can't be specified for parse, it can only be specified for parseLine |