[英]Python CSV: selecting only specific column headers
關於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個標題,下一次只有一個,...
假設您有一本每行都帶有{header:value}的字典,那么您可以簡單地:
for row in rows:
csv.writerow([row[h] for h in myParameters])
然后,對於每個文件,myParameters將不同。
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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.