繁体   English   中英

将字典转换为CSV文件-每个键有多个值

[英]Converting Dictionary to CSV File - multiple values per key

我有一本包含三个键的字典,但是每个键都有多个值。

mydictionary = {'wave': [14.26661, 14.3583, 14.45, 14.54169, 14.63338, etc], 'flux': [2.092778, 1.188152, 2.130176, 3.201674, 2.043295, etc], 'unc': [0.7566527, 0.7157381, 0.7030209, 0.6992941, etc]}

我想将字典以以下格式保存到csv中。

波,通量,单位

14.2666、2.0927、0.756

14.35、1.18、0.715

每个键都是一个列标题,每个值都在自己的行中。 最终的csv应该有3列和116/117行。

这是我得到的最接近的结果,但是csv仅写第一列,并且跳过了几行。

with open(n + '_sp.csv', 'w') as f:
    w = csv.writer(f)
    w.writerow(['wavelength','flux', 'unc'])
    for key, values in mydictionary.items():
       for value in values:
           w.writerow([value])

您可以将所有值列表收集到一个列表中,然后进行转置,因此行与标题对齐逐行堆积:

with open(n + '_sp.csv', 'w') as f:
    w = csv.writer(f)
    header = ['wavelength', 'flux', 'unc']
    w.writerow(header)
    rows = zip(*[mydictionary[h] for h in header])
    w.writerows(rows)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM