Reputation: 998
I am trying to read mixed CSV fields, where there are quoted fields and non-quoted numerical with the following :
from csv import reader
bar = """1234,"abc,def","dasd",341234234"""
foo = reader(bar)
[x for x in foo]
this returns
[['1'], ['2'], ['3'], ['4'], ['', ''], ['abc,def'], ['', ''], ['dasd'], ['', ''], ['3'], ['4'], ['1'], ['2'], ['3'], ['4'], ['2'], ['3'], ['4']]
I tried using foo = reader(bar, delimiter=',', quotechar='"')
But it still breaks up numbers. I basically need to read csv.QUOTE_NONNUMERIC from writer, but it is not reading it properly.
Upvotes: 0
Views: 27
Reputation: 1877
csv reader works on file objects. Here is what you could do
from csv import reader
import StringIO
bar = """1234,"abc,def","dasd",341234234"""
f = StringIO.StringIO(bar)
foo = reader(f, delimiter=',')
print [x for x in foo]
This will give you o/p
[['1234', 'abc,def', 'dasd', '341234234']]
Hope that works for you.
Upvotes: 2