During some time I have created this CSV library: <a href="http://www.multi.fi/~ghaga/libcsv/html/index.html">http://www.multi.fi/~ghaga/libcsv/html/index.html</a> (For processing of CSV tables) any use?good?bad? ty G
On 4 August 2017 at 12:56, Greger via Boost
During some time I have created this CSV library:
<a href="http://www.multi.fi/~ghaga/libcsv/html/index.html">htt p://www.multi.fi/~ghaga/libcsv/html/index.html</a>
(For processing of CSV tables)
any use?good?bad?
Hi, a few quick remarks: - unfortunately there is no standard CSV format, but it's still think it would be useful to have a way to read the most popular variants; - it would be far easier for people to check this if the code was readable without having to download a zip file; for example putting the code on github or bitbucket is free and helps for people to get an idea of how you doe the thing the library does; - Why the complex name? what is Qx? - "The table uses implicitly base64 encoding for cells" I have no idea what this mean. I understand how Unicode encodings work but not this. About the code: - I don't think storing all the data in an object is the best approach; - there is a lot of discutable interface choice, but I don't have time to list them all right now :/ - don't open files inside the thing that read csv. You don't knkow where the csv data might come from, so just take iterators as input and let the user open the file or get it from memory or network for you; Joël Lamotte
Sent from my iPhone
On 4 Aug 2017, at 13:41, Klaim - Joël Lamotte via Boost
wrote: On 4 August 2017 at 12:56, Greger via Boost
wrote: During some time I have created this CSV library:
<a href="http://www.multi.fi/~ghaga/libcsv/html/index.html">htt p://www.multi.fi/~ghaga/libcsv/html/index.html</a>
(For processing of CSV tables)
any use?good?bad?
Hi, a few quick remarks:
- unfortunately there is no standard CSV format,
There is an RFC though https://tools.ietf.org/html/rfc4180 Unfortunately, iirc, there is a slight difference between this RFC and the standard implied by the hugely used Microsoft Excel. If this is (still) true, a library that could paper over the differences could be useful for conversions. Python's CSV module takes a "dialect" parameter to do this.
On 4 August 2017 at 12:56, Greger via Boost
wrote: During some time I have created this CSV library:
<a href="http://www.multi.fi/~ghaga/libcsv/html/index.html">htt p://www.multi.fi/~ghaga/libcsv/html/index.html</a>
(For processing of CSV tables)
any use?good?bad?
Hi, a few quick remarks:
- unfortunately there is no standard CSV format, but it's still think it would be useful to have a way to read the most popular variants; - it would be far easier for people to check this if the code was readable without having to download a zip file; ok, this can be arranged for example putting the code on github or bitbucket is free and helps for people to get an idea of how you doe the thing the library does; - Why the complex name? what is Qx? 'Qx' is a prefix I use to prepend to classes/code that I create. This can be changed/removed. It dates back to the early days of Qt coding, when I allocated the 'qx'
On 04.08.2017 15:41, Klaim - Joël Lamotte via Boost wrote: prefix at TrollTech/Norway for my code.
- "The table uses implicitly base64 encoding for cells" I have no idea what this mean. I understand how Unicode encodings work but not this. This means that cell contents is converted to base64 encoding, implicitly. You don't have to use base64 but you can if you want to. With base64 way you can store any kind of data, also binary, to a 'cell'. As a matter of fact, you can encode (in turn) another table (to base64) in another cell.
eg: the below table is not encoded: ----------------------------------------- "one0","two0","three0","four0" "one1","two1","three1","four1" "one2","two2","three2","four2" ----------------------------------------- While this one is(base64 of the above): ------------------------------------------------------------------------ "b25lMA==","dHdvMA==","dGhyZWUw","Zm91cjA=" "b25lMQ==","dHdvMQ==","dGhyZWUx","Zm91cjE=" "b25lMg==","dHdvMg==","dGhyZWU2","Zm91cjI=" ------------------------------------------------------------------------
About the code: - I don't think storing all the data in an object is the best approach; - there is a lot of discutable interface choice, but I don't have time to list them all right now :/ - don't open files inside the thing that read csv. You don't knkow where the csv data might come from, so just take iterators as input and let the user open the file or get it from memory or network for you;
Joël Lamotte
My apologies if I pollute the mailing list with stuff of no use, anyhow if someone needs it, it is available. :) Thank's, tc Greg
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (3)
-
Greger
-
Klaim - Joël Lamotte
-
Pete Bartlett