【发布时间】:2020-04-05 02:22:28
【问题描述】:
我正在编写一些代码以从输入 .txt 文件生成两个新的 CSV 文件。 .txt 文件有 40 列数据,我正在编写两个新的 csv 文件,每个文件只从 .txt 文件中获取 2 列。
我的代码运行良好,几乎完全符合我的需要。最后一步是重命名两个新 csv 输出中的原始标题。
这是我的代码:
import csv
QATargetHeaders = ['FNAME','LNAME']
FinalTargetHeaders = ['PROJECT_CODE','PHONE_NUMBER']
with open('TEST.txt','r') as csv_input, open('Test_QA2.csv','w') as csv_output:
reader = csv.DictReader(csv_input, delimiter='^')
writer = csv.DictWriter(csv_output, fieldnames=QATargetHeaders, extrasaction='ignore')
writer.writeheader()
for line in reader:
writer.writerow(line)
with open('TEST.txt','r') as csv_input, open('Test_FINAL.csv','w') as csv_output:
reader = csv.DictReader(csv_input, delimiter='^')
writer = csv.DictWriter(csv_output, fieldnames=FinalTargetHeaders, extrasaction='ignore')
writer.writeheader()
for line in reader:
writer.writerow(line)
对于 TEST_QA2.csv,我需要更改标题:
FNAME = First Name
LNAME = Last Name
对于 TEST_FINAL.csv,我需要更改标题:
PROJECT_CODE = PROJECT ID
PHONE_NUMBER = DEVICE1
有人可以帮我弄清楚如何在这里重写标题吗? TargetHeaders 必须定义为 .txt 文件中的确切列名,以便我的作者知道要复制什么。提前谢谢您
【问题讨论】:
-
当您定义编写器时,您已经将标题添加为字段名。标头存储在代码中的 QATargetHeaders 和 FinalTargetHeaders 中。将这些变量调整为您想要的变量。
-
抱歉,我不确定我是否遵循您的建议。你能解释一下我应该在这里做什么吗?
标签: python csv dictionary