如何从csv生成OrderedDict?有什么功能吗?
csv:
1 one
2 twoOrderedDict:
OrderedDict((('1', 'one'), ('2', 'two')))发布于 2011-05-27 02:35:24
如果您的csv有两列,如您的问题所述,您可以这样做:
import csv
import collections
with open('foo.csv','rb') as f:
r = csv.reader(f)
od = collections.OrderedDict(r)如果csv文件中的行格式化为key, value1, value2, value3,您将执行以下操作:
with open('foo.csv','rb') as f:
r = csv.reader(f)
od = collections.OrderedDict((row[0], row[1:]) for row in r)发布于 2019-06-03 12:39:23
在Python3中,CSV模块可以导入CSV文件并将行直接转换为OrderedDict实例,键的顺序与CSV文件一致。这与Python 2的行为不同,在Python 2中,行被作为普通的dict类型返回。
import csv
from pprint import pprint
with open(filename) as fd:
for row in csv.DictReader(fd):
pprint(row)Date,Name,Notes
31 May 2019,Robert,
1 June 2019,Silvio,OrderedDict([('Date', '31 May 2019'),
('Name', 'Robert'),
('Notes', '')])
OrderedDict([('Date', '1 June 2019'),
('Name', 'Silvio'),
('Notes', '')])
...发布于 2012-07-19 11:04:58
我也有同样的问题,简单的方法就是子类化和调整csv函数。下面是我的工作代码:http://code.activestate.com/recipes/577996-ordered-csv-read-write-with-colum-based-lookup/?in=user-4177968
https://stackoverflow.com/questions/6143128
复制相似问题