我需要使用 cvs.reader 对象来处理,因为必须保留列的顺序。但是,出于其他一些原因,我还想拥有 csv.DictReader 对象。
现在,是否有一种简单的方法可以在不重新读取文件的情况下相互转换它们?
我建议您改用tablib。
ds = tablib.Dataset()
ds.csv = open(csvfile).read()
ds
然后,您可以作为一系列行进行迭代,并ds.dict
为您OrderedDict
提供每行的实例列表。如果您还需要将其转换为其他格式,或者编辑并再次另存为 csv,这会容易得多。