파이썬 판다스 - 폴더에 있는 모든 csv 파일을 mb 단위로 쪼개기/분리하기feat.Pandas)
대량의, 크기가 큰 csv 파일을 어딘가에 업로드 해야하거나,
직접 열어서 보고 수정하면 편할 일이 있는 데 csv가 너무 길어서 쪼개기 전엔 그게 안될 때.
한 폴더에 csv 파일들을 몰아넣고 한번에 원하는 행수대로 쪼개줄 수 있다.
import pandas as pd
import os
filePath = 'C://Users//' # 폴더 주소 입력
fileAll = os.listdir(filePath)
for file in fileAll:
rowsize = sum(1 for row in (open(filePath + file, encoding='UTF-8')))
newsize = 5000000 # 쪼개고 싶은 행수 수준으로 입력. 이정도 행수는 200mb 이하임.
times = 0
for i in range(1, rowsize, newsize):
times += 1 # 폴더 내 파일을 하나씩 점검하면서, 입력한 newsize보다 넘는 행을 쪼개줌
df = pd.read_csv(filePath + file, header=None, nrows = newsize, skiprows=i)
csv_output = file[:-4] + '_' + str(times) + '.csv' # 쪼갠 수만큼 _1, _2... _n으로 꼬리를 달아서 파일명이 저장됨
df.to_csv(filePath + csv_output, index=False, header=False, mode='a', chunksize=rowsize)
간단하게 그 폴더에 있는 모든 csv 파일이 행수 기준으로 쪼개짐!!!
물론 이 코드로는... 쪼갤 필요가 없는(크기가 작은...) csv 파일도 _1 꼬리를 달아 저장이 되긴 한다.
'분석하는 마케터' 카테고리의 다른 글
[CSV 다루기] Python으로 대문자를 소문자로, 소문자를 대문자로 변환하기 (feat.Pandas) (0) | 2021.01.20 |
---|---|
[CSV 다루기] Python 특정 열만 남기기. 특정 컬럼 뽑아내기 (feat.Pandas) (0) | 2021.01.18 |
[CSV 다루기] Python으로 행 수 세기 (feat.Pandas) (0) | 2021.01.15 |
[CSV 다루기] Python으로 파일 첫 행 추가하기 (feat.Pandas) (0) | 2021.01.14 |
초보자용 Google 애널리틱스 평가시험 3 (20.09.26) (0) | 2020.09.27 |
댓글