我正在读取CSV文件并将行组合成字典,第一行包含键,后续行包含值。 我希望我的字典键与原始csv文件的顺序相同,但是dict(zip))函数似乎是随机排序的。我尝试过OrderedDict但是没有用。
如果有更好的方法来制作我的词典,我愿意接受建议,但我真的想知道如何在保留现有代码的同时做到这一点,因为我对Python很新(并且编程为一般而且我希望能够理解我自己的代码。
import csv # imports the csv module
with open("csvfile.csv", "r") as file_var:
reader = csv.reader(file_var)
my_list = []
for row in reader:
if (len(row)!=0):
my_list = my_list + [row]
for i in range(1, len(my_list)):
user = dict(zip(my_list[0], my_list[i]))
print "----------------------"
print user['first_name'], user['last_name']
for key in user:
print key, user[key]
答案 0 :(得分:1)
字典有任意顺序。您应该使用SharedStringsTable
代替。
OrderedDict
等
我注意到你说它不起作用,但我认为没有理由不这样做。它以什么方式失败了?