我正在使用 python 并在 google colab 上運行我的示例。我是 csv 寫作的新手。我想像下面這樣寫出csv。 所需的輸出示例 我遇到的問題是我在“添加”和“注冊”中的串列。當我運行我的示例代碼時,我得到以下資訊。 我的輸出 我應該怎么做才能得到我想要的輸出?下面是我的嘗試。如果有另一個與我的情況類似的帖子,您可以鏈接它,因為我已經嘗試搜索并且找不到與我的問題相同的人。
d = [{'local_date': '12/16/2022', 'local_time': '12:00', 'add':[2, 8, 22, 17], 'reg':[1001, 1002, 1003, 1004] }]
fields = ['local_date', 'local_time', 'add', 'reg']
with open("tester.csv", "w") as outfile:
writer = csv.DictWriter(outfile, fieldnames = fields)
writer.writeheader()
writer.writerows(d)
uj5u.com熱心網友回復:
使用 csv
import csv
d = [{'local_date': '12/16/2022', 'local_time': '12:00', 'add':[2, 8, 22, 17], 'reg':[1001, 1002, 1003, 1004]}]
fields = ['local_date', 'local_time', 'add', 'reg']
# we parse the d list to get the create new row with each add, reg value
data = [{**dat, 'add':add, 'reg':reg} for dat in d for add, reg in zip(dat['add'], dat['reg'])]
with open("tester.csv", "w") as outfile:
writer = csv.DictWriter(outfile, fieldnames = fields)
writer.writeheader()
writer.writerows(data)
使用熊貓
import pandas as pd
d = [{'local_date': '12/16/2022', 'local_time': '12:00', 'add':[2, 8, 22, 17], 'reg':[1001, 1002, 1003, 1004]}]
df = pd.DataFrame(d).explode(['add', 'reg'])
df.to_csv('tester.csv', index=False)
uj5u.com熱心網友回復:
問題之一是您將串列與其他型別的物件組合在一起。
您可以將其他物件作為串列,如果鍵在字典中,變數“欄位”就變得不必要了。
這是我的嘗試:
d = {'local_date': ['12/16/2022','12/16/2022','12/16/2022','12/16/2022'], 'local_time': ['12:00','12:00','12:00','12:00'], 'add':[2, 8, 22, 17], 'reg':[1001, 1002, 1003, 1004] }
with open("tester.csv", "w") as outfile:
writer = csv.writer(outfile)
writer.writerow(d.keys())
writer.writerows(zip(*d.values()))
此外,如果您對庫沒有限制,請嘗試 pandas(它會讓您的生活更輕松)。
有關 CSV 中串列的更多資訊:將串列字典寫入 CSV 檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493035.html
