亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字典寫入csv文件,每個“鍵:值”一行

將字典寫入csv文件,每個“鍵:值”一行

UYOU 2019-10-16 10:43:07
我有一本字典:mydict = {key1: value_a, key2: value_b, key3: value_c}我想以這種方式將數據寫入dict.csv文件:key1: value_akey2: value_bkey3: value_c我寫:import csvf = open('dict.csv','wb')w = csv.DictWriter(f,mydict.keys())w.writerow(mydict)f.close()但是現在我將所有鍵都放在一行中,而所有值都在下一行中。當我設法寫一個這樣的文件時,我也想將其讀回到新的字典中。只是為了解釋我的代碼,該詞典包含來自textctrls和復選框的值和布爾值(使用wxpython)。我想添加“保存設置”和“加載設置”按鈕。保存設置應以上述方式將字典寫入文件中(使用戶更容易直接編輯csv文件),加載設置應從文件中讀取并更新textctrl和復選框。
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

在DictWriter不工作,你所期望的方式。


with open('dict.csv', 'w') as csv_file:

    writer = csv.writer(csv_file)

    for key, value in mydict.items():

       writer.writerow([key, value])

讀回:


with open('dict.csv') as csv_file:

    reader = csv.reader(csv_file)

    mydict = dict(reader)

這非常緊湊,但是它假定您在讀取時不需要執行任何類型轉換


查看完整回答
反對 回復 2019-10-16
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

最簡單的方法是忽略csv模塊并自行格式化。


with open('my_file.csv', 'w') as f:

    [f.write('{0},{1}\n'.format(key, value)) for key, value in my_dict.items()]


查看完整回答
反對 回復 2019-10-16
  • 3 回答
  • 0 關注
  • 3518 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號