python – 你可以在没有文件的情况下使用csv.DictReader吗?

我有一些逗号分隔的输入我想解析成字典,所以csv.DictReader看起来很合适.但是,输入已经是字符串形式,而不是作为csv.DictReader想要的接口的文件.

有没有办法直接用字符串使用csv.DictReader?

最佳答案 您可以使用
StringIO(或
io.BytesIO/
io.StringIO):

>>> import StringIO
>>> import csv
>>>
>>> f = StringIO.StringIO(u'''field1,field2,field3
... 1,2,3
... 4,5,6
... 7,8,9
... ''')
>>>
>>> for row in csv.DictReader(f):
...     print row
...
{'field2': '2', 'field3': '3', 'field1': '1'}
{'field2': '5', 'field3': '6', 'field1': '4'}
{'field2': '8', 'field3': '9', 'field1': '7'}
点赞