Короткий ответ
Можно посмотреть размер файла, количество строк, заголовок и несколько первых/последних строк без полной загрузки в память с помощью ls -lh, wc -l, head и tail, что помогает оценить, стоит ли вообще читать весь файл в pandas сразу.
Как это работает подробнее
- Как это работает:
wc -l file.csvпострочно считает файл не загружая его целиком в оперативную память,head -n 5 file.csvиtail -n 5 file.csvпечатают первые/последние строки, аls -lhпоказывает размер файла на диске.
Пример кода
inspect_csv.sh
ls -lh orders.csv
wc -l orders.csv
head -n 3 orders.csvЧто использовать на практике
- На практике: это особенно полезно перед работой с файлами, которые не помещаются комфортно в память: по числу строк и размеру можно прикинуть, нужен ли
pd.read_csv(..., chunksize=...), стоит ли сразу выбрать только нужные столбцы черезusecols, или достаточно обычной загрузки. - Пример и проверка. Вывод показывает размер 4.8G, 42 000 001 строк (включая заголовок) и что разделитель — запятая, а первый столбец — order_id. Проверка: после pd.read_csv('orders.csv', nrows=5) число столбцов и их имена должны совпасть с тем, что видно в выводе head.
Подводные камни
- Частые ошибки: сразу делать
pd.read_csv('big.csv')без предварительной оценки размера, из-за чего ноутбук может упасть по памяти; не проверить разделитель и кодировку файла заранее (например,;вместо,) и получить один «слипшийся» столбец после загрузки.