Czy istnieje wbudowany sposób read_csv
odczytu tylko pierwszych n
wierszy pliku bez wcześniejszej znajomości długości wierszy? Mam duży plik, którego odczytanie zajmuje dużo czasu, i czasami chcę użyć tylko pierwszych, powiedzmy, 20 wierszy, aby pobrać jego próbkę (i wolę nie ładować całej zawartości i zajmować się tym).
Gdybym znał całkowitą liczbę wierszy, mógłbym zrobić coś podobnego footer_lines = total_lines - n
i przekazać to do skipfooter
słowa kluczowego arg. Moje obecne rozwiązanie polega na ręcznym przechwyceniu pierwszych n
wierszy za pomocą Pythona i StringIO do pand:
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
Nie jest tak źle, ale czy istnieje bardziej zwięzły, „pandasowy” (?) Sposób na zrobienie tego za pomocą słów kluczowych czy czegoś takiego?