2017-03-14 1 views
0

다른 CSV 파일에 10 개의 데이터 목록이 있습니다. 각 파일에는 하나의 정보 열이 있습니다. 각 csv 파일을 하나씩 열어서 "file.csv"라는 파일에 쓰려고합니다. 두 번째 파일의 데이터를 첫 번째 파일의 데이터로 저장해야합니다.CSV 파일 데이터를 하나의 파일로 변환

예 : I 코드를 한 다음

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

file.csv= 
a 
b 
c 
d 
e 
f 
g 

, I는 csv_list [1]에 인덱스를 부여하고이 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) 
관련 문제