Anyone know of a simple library or function to parse a csv encoded string and turn it into an array or dictionary?
I don't think I want the built in csv module because in all the examples I've seen that takes filepaths, not strings.
解决方案
I would use StringIO:
import StringIO
import csv
scsv = """1,2,3
a,b,c
d,e,f"""
f = StringIO.StringIO(scsv)
reader = csv.reader(f, delimiter=',')
for row in reader:
print '\t'.join(row)
simplier version with split() on newlines:
reader = csv.reader(scsv.split('\n'), delimiter=',')
for row in reader:
print '\t'.join(row)
Or you can simply split this string into lines using \n as separator, and then split each line into values, but this way you must be aware of quoting, so using csv module is preferred.