簡體   English   中英

復制並修改csv文件中的一行

[英]Copy and modify a row in csv file

我需要一些有關 csv 文件的幫助。 我正在使用 CIS 汽車 API,並且正在提取數據以放入數據庫。 我將數據轉換為 csv 文件,但是有些行具有多個 ID。 無論如何我可以復制該行但每個都有一個ID嗎?

csv文件現在是這樣的:

Dealership     | Address       |Zipcode| DealerID
Charleston Kia | 123 Bowman rd | 29412 | 12345,21456,32145

我想讓它看起來像這樣:

Dealership     | Address       |Zipcode| DealerID
Charleston Kia | 123 Bowman rd | 29412 | 12345
Charleston Kia | 123 Bowman rd | 29412 | 21456
Charleston Kia | 123 Bowman rd | 29412 | 32145

您可以使用Dictreader讀取帶有標題的每一行。 然后,用逗號split() DealerID列,並復制具有匹配 ID 的行。

所以對於輸入文件file.csv像:

Dealership|Address|Zipcode|DealerID
Charleston Kia|123 Bowman rd|29412|12345,21456,32145

以下代碼:

import csv

with open("file.csv") as file, open("new.csv", 'w', newline='') as out_file:
    reader = csv.DictReader(file, delimiter='|')
    writer = csv.DictWriter(out_file, fieldnames=reader.fieldnames)
    writer.writeheader()
    for row in reader:
        for _id in row["DealerID"].split(','):
            writer.writerow({**row, "DealerID": _id})

將創建一個包含內容的新文件new.csv

Dealership,Address,Zipcode,DealerID
Charleston Kia,123 Bowman rd,29412,12345
Charleston Kia,123 Bowman rd,29412,21456
Charleston Kia,123 Bowman rd,29412,32145

暫無
暫無

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

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