[问题] 将不同长度的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