[英]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.