LIB CSV

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

LIB CSV

Boost - Dev mailing list
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


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: LIB CSV

Boost - Dev mailing list
On 4 August 2017 at 12:56, Greger via Boost <[hidden email]> 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;
   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

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: LIB CSV

Boost - Dev mailing list



Sent from my iPhone

> On 4 Aug 2017, at 13:41, Klaim - Joël Lamotte via Boost <[hidden email]> wrote:
>
>> On 4 August 2017 at 12:56, Greger via Boost <[hidden email]> 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.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: LIB CSV

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list


On 04.08.2017 15:41, Klaim - Joël Lamotte via Boost wrote:

> On 4 August 2017 at 12:56, Greger via Boost <[hidden email]> 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'
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


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Loading...