728x90
728x90
안녕하세요, 여러분!
오늘은 제가 일하면서 불편했던 점을 파이썬으로 해결할 수 있는 방법에 대해서 가져왔답니다ㅎㅎㅎ
바로바로, 여러 엑셀파일 합치기
엑셀이 행의 수가 많으면 열기도 힘들고 이걸 일일이 합치려면....고생을 엄청 해야했다.
하지만, 내가 누군가. 이런건 바로바로 손쉽게 할 수 있는 방법을 찾는다.
간단하게 공유해드릴게요!!!
import pandas as pd
import numpy as np
import xlrd
합치기
path = 'C:/Users/ASUS/Desktop/최종/새 폴더/' # csv파일들이 있는 디렉토리 위치
merge_path = f"C:/Users/ASUS/Desktop/최종/새 폴더/result.csv" # 병합하고 저장하려는 파일명
file_list = glob.glob(path + '*')
with open(merge_path, 'w') as f: # 2-1.merge할 파일을 열고
for i, file in enumerate (file_list):
if i ==0: ### 처음 파일은 헤더 포함해서 write
with open(file, 'r', encoding="utf_8") as f2:
while True:
line = f2.readline() # 2.merge 대상 파일의 row 1줄을 읽어서
if not line: # row가 없으면 해당 csv 파일 읽기 끝
break
f.write(line) # 3.읽은 row 1줄을 merge할 파일에 쓴다.
file_name = file.split('\\')[-1]
print(file.split('\\')[-1] + ' write complete...')
else:
with open(file, 'r',encoding="utf_8") as f2:
n = 0 #csv 파일의 row를 체크하기 위한 변수
while True:
line = f2.readline() # 2.merge 대상 파일의 row 1줄을 읽어서
if n != 0: # 첫번째 row(헤더)를 제외한
f.write(line) # 3.읽은 row 1줄을 merge할 파일에 쓴다.
if not line: # row가 없으면 해당 csv 파일 읽기 끝
break
n += 1
file_name = file.split('\\')[-1]
print(file.split('\\')[-1] + ' write complete...')
print('>>> All file merge complete...')
여러폴더 여러파일 하나로 합치기
for y in [1,15]:
for k in [1,2,3,4]:
path = f'C:/Users/ASUS/Desktop/최종/새 폴더 ({y})/새 폴더 ({k})/' # csv파일들이 있는 디렉토리 위치
merge_path = f"C:/Users/ASUS/Desktop/최종/새 폴더 ({y})/새 폴더 ({k})/result.csv" # 병합하고 저장하려는 파일명
file_list = glob.glob(path + '*')
with open(merge_path, 'w') as f: # 2-1.merge할 파일을 열고
for i, file in enumerate (file_list):
if i ==0: ### 처음 파일은 헤더 포함해서 write
with open(file, 'r', encoding="utf_8") as f2:
while True:
line = f2.readline() # 2.merge 대상 파일의 row 1줄을 읽어서
if not line: # row가 없으면 해당 csv 파일 읽기 끝
break
f.write(line) # 3.읽은 row 1줄을 merge할 파일에 쓴다.
file_name = file.split('\\')[-1]
print(file.split('\\')[-1] + ' write complete...')
else:
with open(file, 'r',encoding="utf_8") as f2:
n = 0 #csv 파일의 row를 체크하기 위한 변수
while True:
line = f2.readline() # 2.merge 대상 파일의 row 1줄을 읽어서
if n != 0: # 첫번째 row(헤더)를 제외한
f.write(line) # 3.읽은 row 1줄을 merge할 파일에 쓴다.
if not line: # row가 없으면 해당 csv 파일 읽기 끝
break
n += 1
file_name = file.split('\\')[-1]
print(file.split('\\')[-1] + ' write complete...')
print('>>> All file merge complete...')
728x90
728x90
'Data Science' 카테고리의 다른 글
파이썬을 이용한 Tensorflow 사용법 (0) | 2022.06.07 |
---|---|
R프로그래밍 Data Type 알아보기 (0) | 2022.06.03 |
파이썬을 이용한 AutoML 사용법 (0) | 2022.06.03 |
파이썬을 이용한 동적 크롤링 (0) | 2022.06.02 |
파이썬을 이용한 SQL engine 사용법 (1) | 2022.06.02 |
댓글