Форматы
Как открыть большой CSV-файл, который не помещается в Excel
Что делать, если CSV весит гигабайты и Excel не справляется — альтернативные инструменты и приёмы.
Коллега-аналитик прислал файл с расширением .parquet, а привычный Excel или «Блокнот» отказываются его открывать. Parquet — столбчатый формат хранения данных, который используют для больших датасетов и аналитики: он весит меньше CSV и хранит схему данных внутри себя. Если вы уже сталкивались с проблемой «CSV на миллионы строк» — см. гайд как открыть большой CSV-файл — ниже разберём, чем открыть .parquet без программирования и с кодом.
Коротко: Parquet — это открытый столбчатый формат хранения данных от Apache Software Foundation, созданный для аналитики и больших датасетов. Он весит меньше, чем аналогичный CSV, за счёт компрессии и хранит схему данных внутри файла. Открыть .parquet проще всего через онлайн-вьюер в браузере (без установки ПО) или библиотекой pandas в Python, если нужна дальнейшая обработка.

Parquet — это открытый столбчатый (columnar) формат хранения данных, разработанный Apache Software Foundation. В отличие от привычных табличных форматов, где данные хранятся построчно, Parquet группирует значения одного столбца вместе. Такой подход создавался под конкретную задачу: эффективную работу с большими объёмами данных в аналитике, Big Data и датасетах для машинного обучения, где нужно быстро читать не всю таблицу целиком, а лишь нужные столбцы.
Согласно официальной документации Apache Parquet, формат поддерживает высокопроизводительные схемы компрессии и кодирования, а его экосистема включает инструменты для разных языков и платформ — от Java и C++ до Python, Go и Rust. Файл Parquet редко открывают так же, как открывают обычный документ: чаще его загружают в аналитический инструмент или библиотеку, которая умеет читать столбчатую структуру.
CSV, Excel и большинство текстовых форматов хранят данные построчно: чтобы узнать значения одного столбца, программе приходится пройти через каждую строку целиком. Файл Parquet устроен иначе — столбцы физически лежат в файле отдельными блоками, поэтому аналитический запрос, которому нужны три столбца из тридцати, читает с диска только эти три, а не всю таблицу. Это напрямую экономит время и ввод-вывод на больших датасетах, где счёт идёт на миллионы строк — похожую проблему разбирали в материале как открыть большой CSV-файл.
Второе принципиальное отличие — компрессия и встроенная схема. Файл Parquet обычно весит заметно меньше, чем аналогичный по данным CSV, потому что столбцы с однородными значениями сжимаются эффективнее вперемешку лежащих строк. При этом сам файл Parquet хранит описание своей структуры — какие есть столбцы, какого они типа — а «голый» CSV никакой схемы не несёт: её нужно либо угадывать, либо знать заранее. Сравнение форматов данных другого типа — JSON и XML или YAML, JSON и TOML — разобрано в соседних статьях сайта, если нужен более широкий контекст о том, как устроены разные форматы хранения.
Внутренняя структура файла Parquet организована в три уровня, вложенных друг в друга. Row group — крупный блок строк, на которые делится весь файл; внутри него данные уже разложены по столбцам. Column chunk — это данные одного конкретного столбца внутри row group: именно такая группировка позволяет читать только нужные столбцы, не трогая остальные. Самый мелкий уровень — page, минимальная единица, в которой фактически хранятся и сжимаются значения.
Удобство этой структуры в том, что метаданные и схема данных записаны в самом файле Parquet, обычно в его конце. Программе не нужен отдельный файл-описание или ручная настройка типов столбцов — она читает метаданные и сразу понимает, как устроены данные внутри.
Рядом с Parquet часто упоминают форматы Avro и ORC — если нужно углубиться в разницу между ними, это тема для отдельного материала.
Если задача — просто посмотреть, что внутри файла .parquet, без навыков программирования, проще всего открыть его в онлайн-вьюере. Принцип у таких сервисов общий: вы загружаете файл прямо в браузере, а инструмент показывает структуру данных — список столбцов, типы, строки — и у некоторых из них можно даже выполнить простой SQL-запрос по содержимому, не устанавливая никакого ПО на компьютер.
Онлайн-вьюер — удобный способ разово заглянуть в файл, но данные при этом уходят на сторонний сервер. Не загружайте так файлы с конфиденциальными или персональными данными — для рабочих датасетов с чувствительной информацией безопаснее открыть файл локально, например через Python, как описано ниже.
Для более серьёзной работы с данными — фильтрации, объединения, агрегации — Parquet открывают программно. Python-библиотека pandas умеет читать файлы Parquet одной командой (pandas.read_parquet()), а дальше с данными можно работать как с обычной таблицей. В экосистему формата также входят DuckDB (удобен для быстрых SQL-запросов прямо по файлу, без загрузки в базу данных) и Apache Spark (для распределённой обработки по-настоящему больших датасетов) — оба инструмента официально входят в список реализаций, поддерживающих Parquet.
pandas.read_parquet("файл.parquet") — данные загрузятся в привычную таблицу.Самый частый практический сценарий — получить файл .parquet и захотеть открыть его в Excel или переслать коллеге, который не работает с Python. Проще всего это сделать тем же pandas: прочитать файл через read_parquet(), а затем вызвать to_csv() — на выходе получится обычный CSV, который открывается в Excel без проблем. Если программировать не хочется, часть онлайн-вьюеров Parquet умеет экспортировать просмотренные данные в CSV прямо из браузера. Если результат конвертации нужно донастроить под Excel — например, поправить разделители или кодировку, — пригодится отдельный гайд как конвертировать Excel в CSV с обратным сценарием.
Чаще всего файл .parquet попадает на компьютер не потому, что кто-то создал его вручную, а как результат работы других систем. Это типичный формат выгрузки из BI-систем и аналитических платформ: когда дашборд или отчёт нужно сохранить в «сыром» виде для дальнейшей обработки, многие инструменты по умолчанию предлагают именно Parquet — он компактнее CSV и сохраняет схему данных. Та же история с датасетами для машинного обучения: наборы данных для обучения моделей часто распространяются в Parquet, потому что формат читается быстро и выборочно, без необходимости загружать весь файл в память. Ещё один источник — выгрузки из облачных хранилищ данных, где Parquet де-факто стандарт для хранения больших таблиц. Если файл, который вам прислали, предназначен не для человека, а для загрузки в нейросеть или ИИ-инструмент, полезно свериться со списком поддерживаемых форматов в материале какие форматы файлов принимают нейросети.
Нет, Excel не умеет открывать .parquet напрямую. Файл нужно сначала сконвертировать в CSV или XLSX — через Python (pandas) или онлайн-вьюер с функцией экспорта, и только потом открывать результат в Excel.
Сам по себе Parquet — формат данных, а не исполняемый код, поэтому он не опаснее CSV или XLSX. Но если файл получен от неизвестного отправителя, как и с любыми данными, стоит открывать его в проверенном инструменте и не загружать конфиденциальные датасеты в сторонние онлайн-сервисы без необходимости.
Parquet хранит данные по столбцам, а не по строкам, поэтому аналитический запрос читает только нужные столбцы, а не весь файл целиком. Плюс к этому Parquet обычно весит меньше за счёт компрессии и хранит схему данных внутри себя, в отличие от «голого» CSV.
Нет, если открывать файл локально — например, через pandas в Python или десктопный инструмент. Интернет нужен только для онлайн-вьюеров, которые работают в браузере без установки программ.
Да, через Python это делается так же, как конвертация в CSV: читаете файл командой read_parquet(), а затем экспортируете результат методом для JSON. Некоторые инструменты экосистемы, например DuckDB, тоже умеют экспортировать результат запроса в JSON.
Столбчатое хранение сжимается эффективнее, чем построчное: однородные значения одного столбца (например, одни и те же категории или похожие числа) лежат рядом и лучше поддаются компрессии, чем вперемешку идущие строки в CSV.
Проще всего — онлайн-вьюер Parquet в браузере: загружаете файл, видите структуру и данные без установки ПО. Это подходит для разового просмотра; для регулярной работы с данными разумнее всё же настроить Python с pandas.