2017-07-03 66 views
0

我想读一个CSV文件到python 3使用unicodecsv库。代码如下:csv中列的原始顺序不保留在unicodecsv.DictReader

with open('filename.csv', 'rb') as f: 
    reader = unicodecsv.DictReader(f) 
    Student_Data = list(reader) 

但在CSV文件中列的顺序不保留,当我输出从Student_Data任何元素。输出包含任何列的随机顺序。代码有什么问题吗?我该如何解决?

+1

这可能有所帮助:https://stackoverflow.com/questions/1885324/is-it-possible-to-keep-the-column-order-using-the-python-csv-dictreader – fenceop

回答

1

正如csv.DictReader documentation所述,DictReader对象的行为像一个dict - 因此它不是有序的。

您可以获得与字段名的列表:

reader.fieldnames 

但是,如果你只是想获得字段值的列表,在原来的顺序,你可以使用普通的读者:

with open('filename.csv', 'rb') as f: 
    reader = unicodecsv.reader(f) 
    for row in reader: 
     Student_Data = row 
相关问题