본문 바로가기
각종공부/파이썬 오류 해결 & 팁

[파이썬] 여러개의 csv파일을 한번에 import하고, 합친 파일을 export 하는 법(예제파일 첨부)

by 달슬 2020. 1. 5.
반응형

 

 

In [1]:
import pandas as pd
import glob
import os
from IPython.core.display import display, HTML

display(HTML("<style> .container{width:90% !important;}</style>"))
 
 
In [2]:
input_file = r'C:\Users\lleon\practice\metro' # csv파일들이 있는 위치
output_file = r'C:\Users\lleon\practice\metro\result_line.csv' # 병합하고 저장하려는 파일명
In [3]:
allFile_list = glob.glob(os.path.join(input_file, 'line_*')) # glob함수로 line_으로 시작하는 파일들을 모은다
print(allFile_list)
 
['C:\\Users\\lleon\\practice\\metro\\line_1.csv', 'C:\\Users\\lleon\\practice\\metro\\line_2.csv', 'C:\\Users\\lleon\\practice\\metro\\line_3.csv', 'C:\\Users\\lleon\\practice\\metro\\line_4.csv', 'C:\\Users\\lleon\\practice\\metro\\line_5.csv', 'C:\\Users\\lleon\\practice\\metro\\line_6.csv', 'C:\\Users\\lleon\\practice\\metro\\line_7.csv', 'C:\\Users\\lleon\\practice\\metro\\line_8.csv', 'C:\\Users\\lleon\\practice\\metro\\line_9.csv', 'C:\\Users\\lleon\\practice\\metro\\line_airport.csv', 'C:\\Users\\lleon\\practice\\metro\\line_bundang.csv', 'C:\\Users\\lleon\\practice\\metro\\line_gyeongchun.csv', 'C:\\Users\\lleon\\practice\\metro\\line_gyeongui_central.csv', 'C:\\Users\\lleon\\practice\\metro\\line_wuyi.csv']
In [4]:
allData = [] # 읽어 들인 csv파일 내용을 저장할 빈 리스트를 하나 만든다
for file in allFile_list:
    df = pd.read_csv(file, engine='python') # for구문으로 csv파일들을 읽어 들인다
    allData.append(df) # 빈 리스트에 읽어 들인 내용을 추가한다
In [5]:
dataCombine = pd.concat(allData, axis=0, ignore_index=True) # concat함수를 이용해서 리스트의 내용을 병합
# axis=0은 수직, axis=1은 수평으로 병합함. ignore_index=True는 인덱스 값이 기존 순서를 무시하고 순서대로 정렬되도록 한다.
dataCombine.to_csv(output_file, index=False, encoding='utf-8-sig') # to_csv함수로 저장한다. 인데스를 빼려면 False로 설정
In [6]:
result_line = pd.read_csv(r"C:\Users\lleon\practice\metro\result_line.csv", engine='python', encoding='utf-8')
result_line.head(30) # 잘 병합되었는지 확인
Out[6]:
        철도운영기관명
코레일 1호선 소요산 경기도 동두천시 상봉암동 126-3 경기도 동두천시 평화로 2925
동두천 경기도 동두천시 동두천동 245-210 경기도 동두천시 평화로 2687
보산 경기도 동두천시 보산동 422 경기도 동두천시 평화로 2539
동두천중앙 경기도 동두천시 생연동 726-3 경기도 동두천시 동두천로 228
지행 경기도 동두천시 지행동 424-1 경기도 동두천시 평화로 2285
덕정 경기도 양주시 덕정동 350-14 경기도 양주시 화합로 1356
덕계 경기도 양주시 덕계동 209-5 경기도 양주시 고덕로 139번길 317
양주 경기도 양주시 남방동 94-1 경기도 양주시 평화로 919
녹양 경기도 의정부시 녹양동 96-1 경기도 의정부시 평화로 757
가능 경기도 의정부시 가능동 197-1 경기도 의정부시 평화로 633
의정부 경기도 의정부시 의정부동 168-54 경기도 의정부시 평화로 525
회룡 경기도 의정부시 호원동 50-5 경기도 의정부시 평화로 363
망월사 경기도 의정부시 호원동 50-5 경기도 의정부시 평화로 221
도봉산 서울특별시 도봉구 도봉동 18-1 서울특별시 도봉구 도봉로 964-33
도봉 서울특별시 도봉구 도봉동 639 서울특별시 도봉구 도봉로 170길 2
방학 서울특별시 도봉구 방학동 728 서울특별시 도봉구 도봉로 150다길 3
창동 서울특별시 도봉구 창동 135-1 서울특별시 도봉구 마들로11길 77
녹천 서울특별시 도봉구 창동 57-11 서울특별시 도붕구 덕릉로 376
월계 서울특별시 노원구 월계동 263-1 서울특별시 노원구 월계로53길 40
광운대 서울특별시 노원구 월계동 85 서울특별시 노원구 석계로 98-2
석계 서울특별시 노원구 월계동 36-4 서울특별시 노원구 화랑로 341
신이문 서울특별시 동대문구 이문동 7 서울특별시 동대문구 한천로 472
외대앞 서울특별시 동대문구 이문동 360-5 서울특별시 동대문구 휘경로 27
회기 서울특별시 동대문구 휘경동 317-101 서울특별시 동대문구 회기로 196
남영 서울특별시 용산구 갈월동 96-1 서울특별시 용산구 한강대로77길 25
용산 서울특별시 용산구 한강로3가 40-999 서울특별시 용산구 한강대로23길 55
노량진 서울특별시 동작구 노량진동 67-2 서울특별시 동작구 노량진로 151
대방 서울특별시 영등포구 신길동 1368-3 서울특별시 영등포구 여의대방로 300
신길 서울특별시 영등포구 신길동 41-1 서울특별시 영등포구 영등포로 327
영등포 서울특별시 영등포구 영등포동 618-496 서울특별시 영등포구 경인로 846
반응형

댓글