Таблица контактов CSV (.csv)
RFC СтандартЗначения, разделённые запятыми (CSV),: это широко распространённый текстовый формат для табличных данных, в котором каждая строка представляет собой запись, а поля разделяются символами-разделителями.
Конвертировать из XLSX в CSV
Бесплатный конвертер из XLSX в CSV прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.
Сжатие CSV онлайн
Конфиденциально - файлы никогда не покидают ваше устройство
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы CSV по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы CSV по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
Фиксированной сигнатуры нетПРЕДСТАВЛЕНИЕ ASCII: Текстовые байты; кодировка может различаться
Стандартизация: RFC 4180 / IETF
Технические спецификации
| Архитектура контейнера | Плоский текстовый файл с разделителями, в котором строки и столбцы представляют табличные данные |
| Сжатие | Gzip / Deflate обычно сжимают повторяющиеся табличные записи на 85-95% |
| Порядок байтов (Endianness) | Поток текста UTF-8 (необязательный BOM UTF-8 EF BB BF, используемый в Excel) |
| Цветовые пространства | Неприменимо |
| Каналы и структура | Строковые записи разделяются с помощью CRLF, а столбцы разделяются запятыми |
| Максимальные размеры | Не ограничен по размеру; файлы размером в гигабайты можно обрабатывать потоком, не загружая их целиком в память |
| Прозрачность | Неприменимо |
| Потоковая передача и прогрессивная загрузка | Все конвейеры данных поддерживают встроенную построчную обработку потока |
Техническая матрица сравнения: CSV с конкурентами
| Технический атрибут | CSV (Текущий) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Тип файла | Плоская текстовая таблица | Таблица XML в ZIP-архиве | Бинарное колонночное хранилище | Иерархический текст |
| Несколько листов | Нет (только одна плоская таблица) | Да (несколько рабочих книг и листов) | Хранение с разбиением на разделы | Вложенные массивы и объекты |
| Типы данных | Нетипизированный текст | Типизированные ячейки, формулы, форматирование | Строгие бинарные типы столбцов | Примитивные типы (строка, число, булево) |
| Аналитика больших данных | Медленно (требует линейного чтения каждой строки) | Не подходит для больших данных | Сверхбыстро (отсечение столбцов и проталкивание предикатов) | Умеренно |
Распространенные сценарии повреждения и руководство по восстановлению в HEX
Столбцы смещаются вправо или количество строк не совпадает.
Первопричина: Текстовое поле, содержащее незаэкранированную запятую без окружающих кавычек.
Восстановление: RFC 4180 требует, чтобы поля, содержащие запятые, были заключены в двойные кавычки: "Smith, John".
Символы с диакритическими знаками в Excel отображаются как кракозябры (например, é вместо é).
Первопричина: Excel открыл файл CSV в кодировке UTF-8, предполагая использование устаревшей кодировки символов Windows ANSI/CP1252.
Восстановление: Добавьте 3-байтовый маркер последовательности байтов UTF-8 (0xEF 0xBB 0xBF) в начало файла.
Анализ безопасности и векторы атак на парсер
Файлы CSV напрямую открываются в программах для электронных таблиц, таких как Excel и Google Таблицы, что подвергает пользователей атакам с внедрением формул (CSV Injection).
Известные векторы атак
- Внедрение формул: ячейки, начинающиеся с «=», «+», «-» или «@», могут выполнять макросы электронных таблиц или команды DDE (например, «=cmd|» /C calc'!A0').
- Утечка данных через формулы HYPERLINK(), которые при нажатии отправляют конфиденциальные данные ячеек на удаленные серверы злоумышленников.
Лучшие практики защиты: При экспорте пользовательских данных в CSV добавляйте одинарную кавычку (') или табуляцию в начало любой ячейки, начинающейся с «=», «+», «-» или «@», чтобы Excel отображал ее как обычный текст.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Максимальная простота: данные можно прочитать в любом текстовом редакторе и импортировать в любую базу данных или электронную таблицу.
- Чрезвычайно быстрая построчная потоковая передача без создания полной DOM-модели в памяти.
- Минимальные накладные расходы: отсутствие громоздкого синтаксиса тегов или определений схем.
Технические ограничения и минусы
- Отсутствие стандартных типов данных: числа, даты, логические значения и текст хранятся в виде сырых строк.
- Отсутствие поддержки нескольких листов, форматирования ячеек, формул или метаданных.
- Конфликты разделителей (запятые в тексте, десятичные запятые в региональных настройках ряда европейских стран) часто приводят к ошибкам разбора.
Интересные технические факты
- Во многих европейских странах, где запятые используются в качестве десятичных разделителей, в качестве разделителей CSV вместо запятых используются точки с запятой (;).
- Исторически Microsoft Excel требовал наличия BOM UTF-8 (0xEF 0xBB 0xBF) для правильного отображения символов с диакритическими знаками, отличных от ASCII.
- Национальная служба здравоохранения Великобритании в 2020 году потеряла почти 16 000 записей отслеживания контактов с COVID-19 из-за того, что данные были импортированы в устаревший формат таблицы Excel с ограничением в 65 536 строк.
Часто задаваемые технические вопросы
Что такое RFC 4180?
RFC 4180: это официальный стандарт IETF для CSV. Он требует, чтобы поля, содержащие запятые, переносы строк или двойные кавычки, были заключены в двойные кавычки, а внутренние кавычки экранировались путем их удвоения ("").
Почему файлы CSV открываются с поврежденными символами в Excel?
Более старые версии Microsoft Excel по умолчанию используют локальную кодовую страницу Windows (например, Windows-1252) вместо UTF-8 при непосредственном открытии файлов CSV. Добавление BOM UTF-8 (маркера последовательности байтов) в начале файла заставляет Excel правильно декодировать UTF-8.
Что такое инъекция CSV (внедрение формул)?
Внедрение формул в CSV происходит, когда в файл электронной таблицы экспортируются недоверенные пользовательские данные, начинающиеся с одного из символов «=», «+», «-» или «@», которые могут запускать формулу. При открытии файла в Excel или аналогичной программе таблица автоматически выполняет формулу или команду динамического обмена данными (DDE), что может привести к запуску системных команд или утечке данных.
Связанные конвертации для CSV
Конвертация таблицы Excel в формат CSV извлекает необработанные табличные данные в универсальный текстовый формат для максимальной совместимости с программным обеспечением.
Преобразование простых текстовых файлов CSV в многофункциональные таблицы XLSX позволяет использовать расширенное форматирование данных, формулы и несколько листов.
Преобразование плоских текстовых файлов в структурированные реляционные базы данных позволяет выполнять быстрые запросы и управлять сложными связями данных.
Преобразование скриптов резервного копирования реляционных баз данных в плоские табличные электронные таблицы упрощает анализ данных и подготовку отчетов.
Преобразование иерархических наборов данных HDF5 в плоские телеметрические файлы CSV превращает сложные многомерные научные записи в простые строки и столбцы для анализа в электронных таблицах.
Конвертация многомерных научных сеток NetCDF в плоские телеметрические файлы CSV делает сложные климатические и океанографические данные доступными для чтения в базовых программах для работы с электронными таблицами.
Преобразование файлов vCard в формат CSV превращает иерархические карточки контактов в плоские строки электронных таблиц для простого импорта в базы данных.