【问题标题】:Append new element in row and save CSV [python]在行中追加新元素并保存 CSV [python]
【发布时间】:2021-10-05 03:22:04
【问题描述】:

我有一个如下所示的 csv:

nom_ele_title,nom_ele_type,nom_ele_parent_id
Aspirateur,2,PLACARDS
COIN CUISINE,1,None
Plaques vitro,2,EQUIPEMENTS
Micro-ondes,2,EQUIPEMENTS
USTENSILES
Tabourets bar x 3
Horloge
Pack vaisselle
Pack verrerie

我希望当元素没有“nom_ele_type”时为“nom_ele_parent_id”为“nom_ele_type”添加1,为“nom_ele_parent_id”添加1,如下所示:

nom_ele_title,nom_ele_type,nom_ele_parent_id
Aspirateur,2,PLACARDS
COIN CUISINE,1,None
Plaques vitro,2,EQUIPEMENTS
Micro-ondes,2,EQUIPEMENTS
USTENSILES,1,Yes
Tabourets bar x 3,1,Yes
Horloge,1,Yes
Pack vaisselle,1,Yes
Pack verrerie,1,Yes

我认为可以这样做:

with open("./missed.csv") as f:
    reader = csv.reader(f)
    for row in reader:
        if len(row) == 1:
            row.append('1')
            row.append('Yes')

但 csv 没有保存...

【问题讨论】:

    标签: python pandas csv append


    【解决方案1】:

    要保存更改的 CSV 数据,您需要创建一个 CSV Writer 并将行显式写入其中。

    试试:

    import csv
    
    with open("missed.csv", "r") as fin, open("out.csv", "w", newline='') as fout:
        reader = csv.reader(fin)
        writer = csv.writer(fout) # added
        for row in reader:
            if len(row) == 1:
                row.append('1')
                row.append('Yes')
            writer.writerow(row) # added
    

    输出:

    nom_ele_title,nom_ele_type,nom_ele_parent_id
    Aspirateur,2,PLACARDS
    COIN CUISINE,1,None
    Plaques vitro,2,EQUIPEMENTS
    Micro-ondes,2,EQUIPEMENTS
    USTENSILES,1,Yes
    Tabourets bar x 3,1,Yes
    Horloge,1,Yes
    Pack vaisselle,1,Yes
    Pack verrerie,1,Yes
    

    【讨论】:

    • 非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多