簡體   English   中英

Python CSV:僅選擇特定的列標題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM