저는 10 기가 바이트 정도의 매우 큰 csv 파일을 가지고 있습니다. 언제 내가 iPython 노트북을 사용하여 읽어 보려고csv 파일의 일부를 읽는 중
data = pd.read_csv("data.csv")
내 노트북이 막혔다. 10,000 줄 또는 500MB의 csv 파일을 읽을 수 있습니까?
저는 10 기가 바이트 정도의 매우 큰 csv 파일을 가지고 있습니다. 언제 내가 iPython 노트북을 사용하여 읽어 보려고csv 파일의 일부를 읽는 중
data = pd.read_csv("data.csv")
내 노트북이 막혔다. 10,000 줄 또는 500MB의 csv 파일을 읽을 수 있습니까?
가능합니다. chunksize
을 read_csv
으로 전달하여 iterator=True
을 iterator=True
으로 전달하여 DataFrame으로 한 번에 특정 크기의 CSV 덩어리를 생성하는 반복기를 만들 수 있습니다.
df_iter = pd.read_csv('data.csv', chunksize=10000, iterator=True)
for iter_num, chunk in enumerate(df_iter, 1):
print(f'Processing iteration {iter_num}')
# do things with chunk
또는 더 짧게 또는 당신이, 당신이 읽을 이후 특정 라인에서 시작하는 skiprows
및 nrows
옵션을 사용할 수 있습니다 읽고 싶은 CSV의 단지 특정 부분이 있다면
for chunk in pd.read_csv('data.csv', chunksize=10000):
# do things with chunk
n
개의 행으로 구성됩니다.
메모리 문제 일 수 있습니다. read_csv에서 chunkksize (행 수를 지정할 수 있음)를 설정할 수 있습니다.
또는 모든 열이 필요하지 않은 경우 read_csv에서 usecols를 변경하여 필요한 열만 가져올 수 있습니다.
예제를 제공하지 않는 한, 이것은 더 많은 코멘트이며 여기에서 말한 내용은 @Mitch가 이미 대답 한 것과 정확히 일치합니다 ... – DJK
청크로 파일을 처리하기 위해'iterator'와'chunksize' 옵션을보십시오. – Barmar
설명서를 모두 읽으려고 했습니까 ?? [read csv] (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html), 힌트! look at 'nrows =' – DJK
@ djk47463 nrows =를 사용하여 임의의 행을 얻을 수 있습니까? –