[問題] 將不同長度的dic寫進csv檔

作者: moodoa3583 (金牌台灣啤酒)   2020-09-08 23:13:56
嗨大家晚安
如標題所述,假如說我有三個dic
a_dic = {"a" : "xxx", "b" : "yyy"}
b_dic = {"c" : "zzz", "d" : "vvv", "e" : "ttt"}
c_dic = {"f" : "uuu"}
如果我今天要把他們寫進一個csv檔,如下
a_key a_value b_key b_value c_key c_value
a xxx c zzz f uuu
b yyy d vvv
e ttt
不足的長度留空
想問有甚麼好方法嗎?我目前只想到個別寫一個 csv 檔後再手動 merge 在一起,
但應該有更聰明方便的方法才是。
還請各位提供我關鍵字讓我有個方向,謝謝大家。
作者: TuCH (謬客)   2020-09-09 08:15:00
不建議存成這樣的csv檔
作者: LP9527 (ㄊㄇ抽菸都去)   2020-09-09 08:25:00
合併成矩陣 轉置 寫檔 把,,取代成,如果你的val非空
作者: hongyan (Yan)   2020-09-09 09:12:00
把key當作col比較好吧,比較直觀a_key b_key c_keya_val b_val c_val最簡單的方法就是pd.Dataframe.from_dict,之後三個df之後concat一起https://i.imgur.com/drBkgiY.jpg最後轉置讓key從index變成col也可以dict都先update在一起再轉表格形式
作者: moodoa3583 (金牌台灣啤酒)   2020-09-09 10:30:00
後來我找到的解法是把這三個 dic 先轉成 dataframe:a_df = pd.DataFrame(a_dic.items())b_df = pd.DataFrame(b_dic.items())c_df = pd.DataFrame(c_dic.items())然後再 concatpd.concat([a_df, b_df, c_df], ignore_index=True, axis=1)如圖http://i.imgur.com/8RFjFoj.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com