반응형

csv 파일을 일정 크기로 나누어 여러 파일로 분리하는 파이썬 예제 코드입니다. 



최초작성 2023. 9. 28



다음 링크에 있는 iris 데이터셋을 가지고 진행했습니다.

https://www.kaggle.com/datasets/arshid/iris-flower-dataset/



전체 소스코드입니다.

import pandas as pd
import numpy as np


file = 'IRIS.csv'
filename = file.split('.')[0]

df = pd.read_csv(file)

print(df.shape)
print()

print(df.head())
print()

n = 50
for idx,(_, sub_df) in enumerate(df.groupby(np.arange(len(df)) // n)):
    print('save to csv', sub_df.shape)
    print()
   
    sub_df.to_csv(filename+str(idx) + ".csv", index=False)

    print("-" * 50# 구분선
    



실행결과입니다. 

 

(150, 5)   # iris 데이터셋은 데이터 150개가 5개의 컬럼으로 구성되어 있는 데이터셋입니다.



# 다음처럼 5개의 특성으로 구성되어 있습니다.

   sepal_length  sepal_width  petal_length  petal_width      species

0           5.1          3.5           1.4          0.2  Iris-setosa

1           4.9          3.0           1.4          0.2  Iris-setosa

2           4.7          3.2           1.3          0.2  Iris-setosa

3           4.6          3.1           1.5          0.2  Iris-setosa

4           5.0          3.6           1.4          0.2  Iris-setosa



# 50개씩 나누어 csv 파일로 저장합니다. 

save to csv (50, 5)

 

--------------------------------------------------

save to csv (50, 5)

 

--------------------------------------------------

save to csv (50, 5)

 

--------------------------------------------------



실행결과 다음처럼 3개의 파일이 생성됩니다.



파일을 확인해보면 3가지 클래스가 50개씩 저장됩니다. 스크린샷에는 일부만 보입니다.

 

 

 

반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts