1
我試圖編寫一個Python(2.7)腳本來將多個CSV列表添加到一起(簡單附加),但不會添加共享元素的文件X中的任何行第一列中)文件Y.這裏是我的審判腳本:將CSV文件與Python結合,無重複元素
import csv
import glob
with open('merged.csv','wb') as out:
seen = set()
output = []
out_writer = csv.writer(out)
csv_files = glob.glob('*.csv')
for filename in csv_files:
with open(filename, 'rb') as ifile:
read = csv.reader(ifile)
for row in read:
if {row[1] not in seen} & {row[2] not in seen} & {row[3] not in seen}:
seen.add(row[1])
seen.add(row[2])
seen.add(row[3])
output.append(row)
out_writer.writerows(output)
我敢肯定,這可以被清理了一些,但它的試運行 - 爲什麼沒有適當添加從3列2,元素,如果它們出現在所考慮的行中,那麼不會追加該行?除了正確檢查重複,它已成功輸出合併文件。 (如果合併的文件已經存在於目錄中,這也可以工作,否則我會遇到麻煩嗎?)
非常感謝! :)