2016-09-08 3 views
2

수백만 개의 행을 가진 100GB csv 파일이 있습니다. 나는 판다 데이터 프레임에서 한 번에 10,000 개의 행을 읽고 그것을 SQL 서버에 청크로 작성해야합니다.큰 csv 파일을 읽는 동안 팬더의 메모리 문제를 해결하는 방법

http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk에 나와있는대로 chunksize와 iteartor를 사용했으며 비슷한 질문을 많이했지만 아직 메모리 부족 오류가 발생합니다.

팬더 데이터 프레임에서 매우 큰 csv 파일을 반복적으로 읽는 코드를 제안 할 수 있습니까?

답변

1

데모 :이 난에 대한 고심 된 문제에 대한 훨씬 더 우아한 해결책으로 밝혀졌다 conn이 (sqlalchemy.create_engine(...)에 의해 생성)을 SQLAlchemy의 엔진

+0

와우입니다

for chunk in pd.read_csv(filename, chunksize=10**5): chunk.to_sql('table_name', conn, if_exists='append') 

... 꽤 오래되었습니다! 감사! – Geet

+0

@Geet, 기꺼이 도와 드리겠습니다 ... 답변을 수락 해 주셔서 감사합니다! – MaxU

관련 문제