2017-03-14 9 views
0

私は異なるCSVファイルに10個のデータリストを持っています。各ファイルには1つの情報列があります。それぞれのcsvファイルを1つずつ開いて、「file.csv」というファイルに書きたいと思います。第2のファイルからのデータが第1のファイルからのデータの下に保存されるべきである。csvファイルのデータを1つのファイルに転送する

例:

list1=[['a'], ['b'], ['c'], ['d']] 
list2=[['e'], ['f'], ['g']] 

file.csv= 
a 
b 
c 
d 
e 
f 
g 

Iコードを以下た、I [1] csv_listにインデックスを与え、それがfile.csvになりにデータを転送することができます。しかし、新しいリストの結果をファイルに追加するためにインデックスをcsv_list [2]に変更すると、以前の情報が削除され、新しいリストから情報が追加されます。

次のコードを使用して同じファイルに追加するにはどうすればよいですか。

import csv 
import os 

csv_list= os.listdir("folder1") 
pathname = os.path.join("folder1", csv_list[1]) 

with open(pathname, encoding='utf8') as f: 
    reader = csv.reader(f) 
    data = list(reader)  
print (data) 

with open("file.csv","w") as resultFile: 
    wr = csv.writer(resultFile, dialect='excel') 
    wr.writerows(data) 
+0

私は他のコメントをチェックしていますが、彼らは同じようにやっていません。それは私を助けませんでした。インデックスを手動で与えてから、メインファイルに追加したいからです。 – Dani

+0

'with open(" file.csv "、" w ")'はファイルを上書きします。追加モードを試してください(私が正しく理解している場合) –

答えて

1

あなたはの線に沿って何かを行うことができます:

if os.path.isfile("file.csv"): 
    write_or_append = "a" # append if csv file already exists 
else: 
    write_or_append = "w" # write otherwise 
with open("file.csv", write_or_append) as resultFile: 
    wr = csv.writer(resultFile, dialect="excel") 
    wr.writerows(data) 
関連する問題