簡體   English   中英

在行中追加新元素並保存 CSV [python]

[英]Append new element in row and save CSV [python]

我有一個看起來像這樣的 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沒有保存...

要保存更改的 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM