3 回答

TA貢獻1846條經驗 獲得超7個贊
首先,您必須確保字典值中的所有列表都具有相同的長度。任何其他情況都是不好的做法。
假設是這種情況,例如
d = {'ID':[1,2,3,4,5,6,7],
'Name':['A','B','C','D','E','F','G'],
'Flag':[True, False, False, False, False, False, False],
'City':['']*7,
}
現在您可以構建一個數據框
import pandas as pd
df = pd.DataFrame.from_dict(d)
并將其轉換為 CSV
df.to_csv('/tmp/test.csv', index=False)

TA貢獻1770條經驗 獲得超3個贊
如果您不是像您提到的那樣嚴格尋找 csv,并且可以在其中包含NaNs,請嘗試使用pandas.
import pandas as pd
d = {
"ID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"Name": ["A", "B", "C", "D", "E", "F", "G"],
"Flag": ["True"],
"City": "",
}
df = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in d.items()]))
df.to_csv("1.csv",index=False)
這會用 填充不可用的元素NaN。
輸出:
ID Name Flag City
0 1 A True
1 2 B NaN NaN
2 3 C NaN NaN
3 4 D NaN NaN
4 5 E NaN NaN
5 6 F NaN NaN
6 7 G NaN NaN
7 8 NaN NaN NaN
8 9 NaN NaN NaN
9 10 NaN NaN NaN

TA貢獻1876條經驗 獲得超7個贊
import csv
columns = list(dict.keys())
try:
with open(output_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=columns)
writer.writeheader()
for data in dict:
writer.writerow(data)
except IOError:
print("I/O error")
添加回答
舉報