关于Python中的csv模块:
示例 - 第一个文件的内容:
file1.csv, file2.csv, header1, header2
file3.csv, file4.csv, header1, header2, header5
file5.csv, file6.csv, header2
我读取了第一个文件(file1.csv),只需要导出带有header1和header2的列。
对于下一个文件(file3.csv),我只需要将header1,header2和header5导出到file4.csv。
我有一个数组(myParameters = row [" targetcolumns"],其中包含所有标题名称,我需要以某种方式循环,同时创建行,将其写入文件,然后继续下一行。
我不知道该怎么做。
问题是有时我需要4个标题,下一次只需要一个,...
答案 0 :(得分:0)
假设你有一行字典,每行有{header:value},那么你可以简单地说:
for row in rows:
csv.writerow([row[h] for h in myParameters])
然后,对于每个文件,myParameters将会有所不同。
答案 1 :(得分:0)
import csv
f = open("somefile.txt", "r")
for line in f:
l = line.split()
f1= l[0]
f2 = l[1]
headers = l[2:]
file2 = open(f2, "r")
for h in headers:
file2.write(','.join(headers) + '\n')
with open(f1, "r") as filename:
r = csv.DictReader(filename)
for x in r:
out = []
for h in headers:
out.append(x[h])
file2.write(','.join(out) + '\n')