我正在嘗試使用python制作一個更改csv的腳本,我必須要求輸入對于所有行都相同,并且還必須更改標題名稱但不是列出的所有值,這里是腳本
import csv
location= input("File Path: ")
with open(location) as csv_file:
csv_reader = csv.DictReader(csv_file)
with open('fixed.csv', 'w', newline='') as new_file:
fieldnames = "value", "type", "description"
writer=csv.writer(new_file)
csv_writer =csv.DictWriter(new_file, fieldnames=fieldnames, delimiter= '|', extrasaction='ignore')
csv_writer.writeheader()
for line in csv_reader:
line = {k: v.replace("sha1", "hash") for k, v in line.items()}
if not any("url" in value for value in line.values()):
csv_writer.writerow(line)
這是代碼,我必須將“值”標題更改為新詞,并在“描述”下列出向用戶詢問的相同內容
csv樣本
value|type|description
35|new|
46|new|
54|new|
uj5u.com熱心網友回復:
對于 csv 撰寫器,您需要像這樣宣告列名。
fieldnames = "new_column_name", "type", "description"
如果您使用的是 python 3.7 ,請替換此行
line = {k: v.replace("sha1", "hash") for k, v in line.items()}
和
line = {"new_column_name" if k == 'value' else k:v.replace("sha1", "hash") for k,v in line.items()}
否則,以下內容適用于任何版本。在初始化行變數后放置此代碼
line = {'new_columne_name' : line['value'], 'type': line['type'], 'description' : line['description']}
如果您想在某一行更改描述的值,只需使用此
line['description'] = new_value
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428821.html
