python - 在现有 csv 文件的新列中创建新闻列并从字典中添加键和值
问题描述
我有一个这样的 csv 文件:
id;verbatim
1;je veux manger
2;tu as manger
我有我的脚本,它返回这样的字典:
dico_phrases = {"['manger']": ['7', '1', '0'], "['être', 'laid']": ['0', '21', '1041']}
T 想添加 4 个这样的新闻栏:
id;verbatim,key,value1,value2,value3
1;je veux manger
2;tu as manger
然后在每一列中添加我的字典,如下所示:
id;verbatim;key,value1,value2,value3
1je veux manger;manger;7;1;0
2;tu as manger;être laid;0;21;1041
在允许我获取字典的脚本下方:
with open('output.csv','wb') as f:
w = csv.writer(f)
w.writerow(dico_phrases.keys())
w.writerow(dico_phrases.values())
我有这个 :
['manger'],"['être', 'laid']"
"['7', '1', '0']","['0', '21', '1041']"
跟我想象的不太一样
解决方案
考虑为此使用熊猫-
df = pd.read_csv("input.csv", index_col='id')
dico_phrases = {"['manger']": ['7', '1', '0'], "['être', 'laid']": ['0', '21', '1041']}
df['key'] = [" ".join(eval(x)) for x in dico_phrases.keys()]
df = df.join(pd.DataFrame([x for x in dico_phrases.values()], index=df.index))
df.to_csv("output.csv")
输出:
id,verbatim,key,0,1,2
1,je veux manger,manger,7,1,0
2,tu as manger,être laid,0,21,1041
推荐阅读
- excel - 如何从 SAP PR 中的附件中获取文件名文本
- cluster-analysis - 有没有可以找到可解释的最优子空间的聚类方法?
- javascript - 复制同一工作表中的范围时,For循环不继续
- python - selenium 连接到网页时如何执行循环?
- c# - 在表单中保存/打开动态创建的控件
- reactjs - 如何在反应路由器中添加单独的 HTML 文件?
- php - 获取表单内容,然后使用 php 添加到 url
- ionic4 - WorldPay 与 Ionic 4 集成,通过提供的模板表单获取付款详细信息
- spring-boot - 请求来自不同主机时的 Spring-boot 2.0 会话问题
- jsxgraph - 如何使用 JSXGraph 为 Board 的一部分着色?