[issue25857] csv: unexpected result
Ioan Fintescu added the comment: If you consider that, you should take a look at the RFC; it also contains a BNF like grammar plus some pointers to another RFC (2234). It may require more effort that it is worth, absent some demand for it. ...muss On Mon, Dec 14, 2015 at 9:34 AM, R. David Murray wrote: > > R. David Murray added the comment: > > Oh, maybe there is. We could add an RFC-strict dialect that would raise > an error, if I'm understanding your quotes from it correctly. That would > be a new feature, though. > > -- > > ___ > Python tracker > <http://bugs.python.org/issue25857> > ___ > -- ___ Python tracker <http://bugs.python.org/issue25857> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25857] csv: unexpected result
Ioan Fintescu added the comment: There seems to be a CSV specification, namely IETF RFC 4180, and, as far as I can tell, it indicates you are correct, and I am wrong. Especially points 5., 6., and 7 on page 3. Here is a quote from 5 (RFC 4180, page 2 <https://tools.ietf.org/html/rfc4180#page-2>). If fields are not enclosed with double quotes, then double quotes may not > appear inside the fields. It gets more specific in 6., and 7. So the csv module is doing the right thing. An error message may help, though. ...muss On Mon, Dec 14, 2015 at 9:05 AM, R. David Murray wrote: > > R. David Murray added the comment: > > Well, since there's no real standard for csv, it might have been. Since > it is iherently ambiguous according to "normal" csv rules, though, I'd say > that if that is the case the originating spreadsheet is the one with the > bug. If you can prove there is a spreadsheet that uses this format, > perhaps an enhancement request for csv would be in order. I don't *think* > there's any way to parse that with the existing dialect support, though I > could be wrong. > > -- > > ___ > Python tracker > <http://bugs.python.org/issue25857> > ___ > -- ___ Python tracker <http://bugs.python.org/issue25857> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25857] csv: unexpected result
Ioan Fintescu added the comment: You may be right. I just saved it from LibreOffice Calc and I got [x=āaā,"y=āb, cā"]. I thought the original was saved from a spreadsheet program. ...muss On Sun, Dec 13, 2015 at 7:51 PM, Ioan Fintescu wrote: > You wrote ['x = "a"', 'y = "b, c"'] > I wrote ['x = "a", y = "b, c"'] > > > ...muss > > > On Sun, Dec 13, 2015 at 7:08 PM, R. David Murray > wrote: > >> >> R. David Murray added the comment: >> >> >>> b = io.StringIO() >> >>> w = csv.writer(b) >> >>> w.writerow(['x = "a"', 'y = "b, c"']) >> 28 >> >>> b.getvalue() >> '"x = ""a""","y = ""b, c"""\r\n' >> >> >> In other words, your input was not validly quoted csv. >> >> -- >> nosy: +r.david.murray >> resolution: -> not a bug >> stage: -> resolved >> status: open -> closed >> >> ___ >> Python tracker >> <http://bugs.python.org/issue25857> >> ___ >> > > -- ___ Python tracker <http://bugs.python.org/issue25857> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25857] csv: unexpected result
Ioan Fintescu added the comment: You wrote ['x = "a"', 'y = "b, c"'] I wrote ['x = "a", y = "b, c"'] ...muss On Sun, Dec 13, 2015 at 7:08 PM, R. David Murray wrote: > > R. David Murray added the comment: > > >>> b = io.StringIO() > >>> w = csv.writer(b) > >>> w.writerow(['x = "a"', 'y = "b, c"']) > 28 > >>> b.getvalue() > '"x = ""a""","y = ""b, c"""\r\n' > > > In other words, your input was not validly quoted csv. > > -- > nosy: +r.david.murray > resolution: -> not a bug > stage: -> resolved > status: open -> closed > > ___ > Python tracker > <http://bugs.python.org/issue25857> > ___ > -- ___ Python tracker <http://bugs.python.org/issue25857> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25857] csv: unexpected result
New submission from Ioan Fintescu: Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import csv >>> s = 'x = "a", y = "b, c"' >>> s 'x = "a", y = "b, c"' >>> for row in csv.reader([s]): print(row) ... ['x = "a"', ' y = "b', ' c"'] >>> len(row) 3 >>> for row1 in csv.reader([s], skipinitialspace=True):print(row1) ... ['x = "a"', 'y = "b', 'c"'] >>> len(row1) 3 >>> s2 = 'x = "a",y="b,c"' >>> s2 'x = "a",y="b,c"' >>> for row2 in csv.reader([s]): print(row2) ... ['x = "a"', ' y = "b', ' c"'] >>> len(row2) 3 >>> for row3 in csv.reader([s], skipinitialspace=True): print(row3) ... ['x = "a"', 'y = "b', 'c"'] >>> len(row3) 3 -- messages: 256355 nosy: muss priority: normal severity: normal status: open title: csv: unexpected result type: behavior versions: Python 3.4 ___ Python tracker <http://bugs.python.org/issue25857> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com