我正在尝试将词典列表导出到.csv文件:
keys = hist[0].keys()
with open(file, 'wt') as output_file:
dict_writer = csv.DictWriter(output_file, keys, lineterminator='\n')
dict_writer.writeheader()
dict_writer.writerows(hist)
我希望字典中的最后一个键成为列中的第一个键。在
我的字典列表(hist)是:
^{pr2}$我得到了:
for x in dates:
l = {}
for y in currs:
try:
m = exrates.get_exrates(x)[y]
except KeyError:
m = '-'
l[y] = m
l['Date'] = x
hist.append(l)
如何更改字典的顺序或更改列的顺序?在
如果您想要顺序和反转,请使用OrderedDict:
要颠倒顺序,请使用“反转”:
^{pr2}$如果你只想把最后一把钥匙放在前面:
您也可以使用
dict.get
进行理解:如果您要提供页眉,并且不希望在按需写入后排序dict,假设curr是一个列表,则可以使用curr作为页眉添加日期:
curr中的元素是作为头的键使用的,因此如果您只想将}一起写入Date下的第一列,就不需要存储dict了。在
[exrates.get_exrates(x).get(y, "-") for y in currs]
的内容与{用你想要的顺序硬编码标题。在
硬编码是首选的任何时候,你希望你的csv有一个特定的格式。在
(如果您不反对使用
pandas
)您可以通过对列重新排序来完成此操作,请看最后一步:相关问题 更多 >
编程相关推荐