I have a CSV parser at my blog that might interest you:
https://programmingpraxis.files.wordpress.com/2013/01/textfiledatabases.pdf.
It properly handles bot Unix and DOS-style line endings, and embedded
quotes.

On Fri, Mar 6, 2020 at 2:00 PM Ivan Raikov <ivan.g.rai...@gmail.com> wrote:

> Hi Matt,
>
> Thanks, I think the default line terminator is the newline character,
> which would not work on files with DOS-style line endings. Could you
> call the reader with option eol: "\r\n" to see if this fixes the
> problem?
>
> -Ivan
>
> On Fri, Mar 6, 2020 at 11:24 AM Matt Welland <mattrwell...@gmail.com>
> wrote:
> >
> > Thanks Ivan, I much appreciate the support.
> >
> > I tested 1.2 and it does solve the escaped quotes problem. I do now see
> another problem. Multi-line cells cause the parser some grief. The attached
> test.csv generated from Excel imports fine to gnumeric but fails with an
> "unable to parse record" with tabular.
> >
> > On Fri, Mar 6, 2020 at 8:16 AM Ivan Raikov <ivan.g.rai...@gmail.com>
> wrote:
> >>
> >> Hi Matt,
> >>
> >> Thank you for using tabular and for reporting this issue. This was
> >> indeed a bug in the code that handles escaped quotes. I have fixed it
> >> and have made a new release (1.2). Let me know if you run into any
> >> other issues. Best regards,
> >>
> >> -Ivan
> >>
> >> On Thu, Mar 5, 2020 at 2:14 PM Matt Welland <mattrwell...@gmail.com>
> wrote:
> >> >
> >> > It is common in csv to escape double quotes with double quotes. This
> does not work in tabular and I was unable to figure out any other
> mechanism. Replacing the first " with \ did not work and neither did using
> single quotes around the string. Is there a built in mechanism? The csv
> files in question come from Microsoft Excel but I tested with a csv from
> Gnumeric and see the same problem.
> >> >
> >> > cat testing.csv
> >> > Junk,"Joe  ""Super"" Duper Guy",zsssy
> >> > "More Junk",1,2
> >> >
> >> > ../portit pp testing.csv
> >> >
> >> > Error: (list->string) bad argument type - not a character: (#\")
> >> >
> >> > Call history:
> >> >
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?
> >> > utf8-srfi-14.scm:101: iset#iset-contains?   <--
> >> >
> >> > Thanks.
> >> > --
> >> > Complexity is your enemy. Any fool can make something complicated.
> >> > It is hard to keep things simple. - Richard Branson.
> >
> >
> >
> > --
> > --
> > Complexity is your enemy. Any fool can make something complicated.
> > It is hard to keep things simple. - Richard Branson.
>
>

Reply via email to