Что такое CSV
CSV (Comma-Separated Values) — файл с значениями, разделёнными запятыми. Простейший формат табличных данных: каждая строка — запись, поля разделены запятыми.
имя,возраст,город
Чжан Сан,25,Пекин
Ли Си,30,Шанхай
CSV — универсальный формат обмена данными. Excel, базы данных и языки программирования умеют читать и писать CSV.
Правила разбора CSV
Базовая структура
- Каждая строка — одна запись
- Поля разделены разделителем (обычно запятая)
- Первая строка обычно заголовок
- Перенос строки разделяет записи
Поле с запятой
Если поле содержит запятую, заключите его в двойные кавычки:
имя,описание
Чжан Сан,"Привет, мир"
Без кавычек будет воспринято как два поля.
Поле с двойными кавычками
Если поле содержит двойные кавычки, экранируйте их двумя двойными кавычками:
имя,описание
Чжан Сан,"Он сказал ""привет"""
Поле с переносом строки
Если поле содержит перенос строки, заключите его в двойные кавычки:
имя,описание
Чжан Сан,"первая строка
вторая строка"
Варианты разделителя
- Запятая: стандартный CSV
- Точка с запятой: часто в Европе (по умолчанию в европейском Excel)
- Tab: TSV (Tab-Separated Values)
- Вертикальная черта: некоторые системы используют |
Перед преобразованием уточните разделитель.
Очистка данных
Удаление пробелов
- Пробелы до и после поля: trim
- Пустые строки: удалить
- BOM-заголовок: убрать
Унификация формата
- Дата: привести к YYYY-MM-DD
- Числа: единый десятичный разделитель (без разделителя тысяч)
- Логические: единый true/false или 0/1
- Кодировка: UTF-8
Обработка пропущенных значений
- Пустое поле: заполнить значением по умолчанию или пометить null
- Отсутствует вся строка: удалить или дополнить
- Отсутствует ключевое поле: пометить ошибку
Удаление дубликатов
- Полностью дублирующиеся строки: удалить
- Дубликат первичного ключа: оставить свежий или слить
Частые проблемы
Нечитаемые символы
Кодировка CSV — самая частая проблема. Excel по умолчанию использует GBK (китайская версия), другие инструменты — UTF-8.
Решение:
- При экспорте из Excel выберите «CSV UTF-8»
- Сохраните как UTF-8 в текстовом редакторе
- Инструменты преобразования с автоопределением кодировки
Ошибочное определение разделителя
CSV использует запятую, но европейский Excel по умолчанию ставит точку с запятой. При открытии CSV всё сжимается в один столбец.
Решение:
- Откройте в текстовом редакторе и уточните разделитель
- При импорте в Excel укажите разделитель (Данные → Текст по столбцам)
BOM-заголовок
CSV UTF-8, экспортированный из Excel, может содержать BOM (\uFEFF). Перед именем первого поля появляется невидимый символ.
Решение: уберите BOM в текстовом редакторе или используйте инструмент с автоматической обработкой.
Числа в экспоненциальной записи
Длинные числа (номер паспорта, номер заказа) превращаются в экспоненциальную запись в Excel (1.23E+18).
Решение:
- В Excel установите для столбца формат «Текст» перед вставкой
- В CSV добавьте апостроф перед числом ('123456)
- При импорте укажите столбец как текст
Путаница форматов даты
Форматы даты различаются по регионам:
- Китай: 2024/1/1
- США: 1/1/2024
- Европа: 1.1.2024
Решение: приведите к ISO 8601 (2024-01-01).
Несогласованные переносы строк
Windows использует \r\n, Mac/Linux — \n. Смешивание вызывает ошибки разбора.
Решение: унифицируйте перенос строки.
Преобразование CSV
CSV в JSON
Программам удобнее обрабатывать JSON, чем CSV. Используйте инструмент CSV в JSON для мгновенного преобразования.
CSV в Excel
Откройте CSV в Excel — это уже таблица. Но следите за кодировкой и разделителем.
Excel в CSV
В Excel сохраните как CSV. Обратите внимание:
- Сохраняется только текущий лист
- Формулы превращаются в значения
- Форматирование теряется
- Несколько листов сохраняются по отдельности
Пакетная обработка
Слияние нескольких CSV
Объединение нескольких файлов CSV в один:
- Убедитесь, что заголовки совпадают
- В первом файле сохраните заголовок
- В остальных файлах удалите заголовок
- Склейте содержимое
Деление большого CSV
Деление большого CSV по числу строк:
- Сохраните заголовок в каждом файле
- Разбейте по заданному числу строк
- Создайте несколько маленьких файлов
Фильтрация данных
Фильтрация данных CSV по условию:
- Поле равно заданному значению
- Числовой диапазон
- Диапазон дат
Обработка CSV в DocsAll
- Загрузите CSV или вставьте содержимое
- Автоматический разбор
- Вывод в JSON
- Скопируйте или скачайте
Обработка в браузере, данные не отправляются.
Советы по обработке
Сначала изучите данные
Перед обработкой изучите содержимое CSV:
- Откройте в текстовом редакторе (не в Excel)
- Уточните разделитель
- Уточните кодировку
- Уточните заголовок
- Проверьте целостность данных
Сделайте резервную копию
Перед обработкой сделайте резервную копию исходного CSV. Если очистка пойдёт не так, можно откатиться.
Тест на малой партии
Сначала обработайте несколько строк для теста, убедитесь в правильности логики, затем обрабатывайте всё.
Проверка результата
После обработки проверьте:
- Совпадает ли число строк (после очистки не должно быть меньше положенного)
- Совпадает ли число полей
- Выборочно проверьте ключевые данные
Итоги
Суть обработки CSV: понять правила разбора (запятая, кавычки, перенос строки), решить проблемы кодировки (UTF-8, BOM), очистить данные (пробелы, формат, пропуски), преобразовать форматы (JSON, Excel). Изучите данные перед обработкой и проверяйте результат после. Инструмент CSV в JSON от DocsAll работает в браузере, данные не покидают устройство.