【问题标题】:Create news columns and add key and values from dictionary in new columns for existing csv file在现有 csv 文件的新列中创建新闻列并从字典中添加键和值
【发布时间】:2019-08-22 03:09:13
【问题描述】:

我有一个这样的 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']"

这和我想象的不太一样

【问题讨论】:

    标签: python pandas csv dictionary list-comprehension


    【解决方案1】:

    考虑为此使用pandas -

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 2016-07-18
      • 1970-01-01
      • 2021-05-27
      • 2022-01-13
      • 2020-04-06
      相关资源
      最近更新 更多