agencies

파이썬 엑셀 불러와서 읽을 때 (용량이 너무 커서 안 될 경우) 본문

Ⅲ. 정보보안

파이썬 엑셀 불러와서 읽을 때 (용량이 너무 커서 안 될 경우)

agencies 2024. 10. 12. 15:29

청크를 사용하면 된다고 합니다.

 

 

import pandas as pd

# 출력 설정 변경: 모든 열 출력 및 길이 제한 없앰
pd.set_option('display.max_columns', None)  # 모든 열을 출력
pd.set_option('display.max_colwidth', None)  # 각 열의 내용 길이 제한 없음

# 파일을 일정 크기(chunksize)로 나누어 읽기 (여기서는 1000개의 행씩 읽음)
chunksize = 1000  # 한 번에 읽을 행 수
filename = 'MSR_data_cleaned.csv'

# 첫 번째 chunk만 로드하고 출력
chunk_iter = pd.read_csv(filename, chunksize=chunksize, low_memory=False)

# 첫 번째 chunk를 읽어서 출력 (필요에 따라 원하는 만큼 처리)
for chunk in chunk_iter:
    print(chunk.head(2))  # 첫 10개 행만 출력
    break  # 첫 번째 chunk만 처리하고 중지

 

결과 이미지는 위와 같다.

 


 

추가

 

가독성이 떨어져서 엑셀로 저장하는 코드를 하단에 추가했습니다.

 

 

import pandas as pd

# 출력 설정 변경: 모든 열 출력 및 길이 제한 없앰
pd.set_option('display.max_columns', None)  # 모든 열을 출력
pd.set_option('display.max_colwidth', None)  # 각 열의 내용 길이 제한 없음

# 파일을 일정 크기(chunksize)로 나누어 읽기 (여기서는 1000개의 행씩 읽음)
chunksize = 1000  # 한 번에 읽을 행 수
filename = 'MSR_data_cleaned.csv'

# 첫 번째 chunk만 로드하고 출력
chunk_iter = pd.read_csv(filename, chunksize=chunksize, low_memory=False)

# 첫 번째 chunk를 읽어서 출력하고 엑셀 파일로 저장
for chunk in chunk_iter:
    print(chunk.head(2))  # 첫 2개 행만 출력
    chunk.head(2).to_excel("output_chunk.xlsx", index=False)  # 엑셀 파일로 저장
    break  # 첫 번째 chunk만 처리하고 중지