簡體   English   中英

將復雜的字典導出到csv文件中

[英]Exporting a complicated dictionary into a csv file

我有一本字典,其中的值是列表。 這是一個例子:

例:

d = {'20190606_CFMPB576run3_CF33456_12.RCC': [1.0354477611940298, '0.51'],
     '20190606_CFMPB576run3_CF33457_05.RCC': [1.0412757973733584, '1.09'],
     '20190606_CFMPB576run3_CF33505_06.RCC': [1.0531309297912714, '0.81']}

我正在嘗試將此字典導出到csv文件中。 像這樣的預期輸出:

預期輸出:

file_name,citeria1,criteria2
20190606_CFMPB576run3_CF33456_12.RCC,1.0354477611940298, 0.51
20190606_CFMPB576run3_CF33457_05.RCC,1.0412757973733584,1.09
20190606_CFMPB576run3_CF33505_06.RCC,1.0531309297912714,0.81

為此,我編寫了以下代碼:

import csv

with open('mycsvfile.csv', 'w') as f:
    header = ["file_name","citeria1","criteria2"]
    w = csv.DictWriter(f, my_dict.keys())
    w.writeheader()
    w.writerow(d)

但它沒有返回我想要的。 你知道如何解決嗎?

更改如下:

import csv

with open('mycsvfile.csv', 'w') as f:
    header = ["file_name", "citeria1", "criteria2"]
    w = csv.writer(f)
    w.writerow(header)
    for key, lst in d.items():
        w.writerow([key] + lst)

DictWriter提供了字段/列名稱,並假定要作為字典提供的行具有與給定字段名稱相對應的鍵。 在您的情況下,數據結構是不同的。 您可以使用簡單的csv.writer因為您的行是給定字典的鍵和值的混合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM