unicodecsv.DictReader 中未保留 csv 中列的原始顺序
Original order of columns in csv not retained in unicodecsv.DictReader
我正在尝试使用 unicodecsv
库将 CSV 文件读入 python 3。代码如下:
with open('filename.csv', 'rb') as f:
reader = unicodecsv.DictReader(f)
Student_Data = list(reader)
但是当我从 Student_Data
输出任何元素时,CSV 文件中列的顺序没有保留。输出包含任何随机顺序的列。代码有什么问题吗?我该如何解决这个问题?
如 csv.DictReader documentation 中所述,DictReader 对象的行为类似于 dict
- 因此它没有排序。
您可以通过以下方式获取字段名列表:
reader.fieldnames
但如果你只想获取字段值的列表,按原始顺序,你可以使用普通的 reader:
with open('filename.csv', 'rb') as f:
reader = unicodecsv.reader(f)
for row in reader:
Student_Data = row
我正在尝试使用 unicodecsv
库将 CSV 文件读入 python 3。代码如下:
with open('filename.csv', 'rb') as f:
reader = unicodecsv.DictReader(f)
Student_Data = list(reader)
但是当我从 Student_Data
输出任何元素时,CSV 文件中列的顺序没有保留。输出包含任何随机顺序的列。代码有什么问题吗?我该如何解决这个问题?
如 csv.DictReader documentation 中所述,DictReader 对象的行为类似于 dict
- 因此它没有排序。
您可以通过以下方式获取字段名列表:
reader.fieldnames
但如果你只想获取字段值的列表,按原始顺序,你可以使用普通的 reader:
with open('filename.csv', 'rb') as f:
reader = unicodecsv.reader(f)
for row in reader:
Student_Data = row