programing

Python Pandas:에서 CSV 파일의 첫 번째 n 행만 읽는 방법은 무엇입니까?

instargram 2023. 7. 6. 21:47
반응형

Python Pandas:에서 CSV 파일의 첫 번째 n 행만 읽는 방법은 무엇입니까?

데이터 세트가 너무 커서 전체 데이터 세트를 읽을 여유가 없습니다.그래서, 저는 훈련을 위해 그것을 한 조각만 읽을 생각인데 어떻게 하는지 모르겠어요.

처음 999,999(비헤더) 행만 읽으려면:

read_csv(..., nrows=999999)

행 1,000,000... 1,999,999를 읽으려면

read_csv(..., skiprows=1000000, nrows=999999)

nrows : int, 기본값 None 읽을 파일 행 수.대용량 파일의 일부를 읽을 때 유용*

skiprows : 목록과 유사하거나 정수 파일 시작 시 건너뛸 행 수(0-인덱스) 또는 건너뛸 행 수(int)

대용량 파일의 경우 청크 크기를 사용할 수도 있습니다.

청크 크기 : int, 반복을 위한 기본 None Return TextFileReader 개체

pandas.io .csvers.read_csv 설명서

chunksize=는 의 입니다.read_csv통과한 후에는 반복기이므로 전화를 걸 수 있습니다.next()메모리에 부담을 주지 않고 원하는 특정 청크를 얻을 수 있도록 기능합니다.를 들어, 첫 를들어값을 첫번을얻는방법째예방▁for▁the법얻는을 사용합니다.n다음 행을 사용할 수 있습니다.

chunks = pd.read_csv('file.csv', chunksize=n)
df = next(chunks)

예를 들어 시계열 데이터가 있는 경우 처음 700k 행을 트레인 세트로 하고 나머지 테스트 세트로 하려면 다음을 수행합니다.

chunks = pd.read_csv('file.csv', chunksize=700_000)
train_df = next(chunks)
test_df = next(chunks)

Panda를 사용하지 않으려면 csv 라이브러리를 사용하고 상호 작용 중단으로 행 읽기를 제한할 수 있습니다.

예를 들어, 머리글만 가져오려면 csvs 목록에 저장된 파일 목록을 읽어야 했습니다.

for csvs in result:
    csvs = './'+csvs
    with open(csvs,encoding='ANSI', newline='') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        count=0
        for row in csv_reader:
            if count:
                break;

언급URL : https://stackoverflow.com/questions/23853553/python-pandas-how-to-read-only-first-n-rows-of-csv-files-in

반응형