CSV — семейство текстовых форматов с разделителями, а не одна универсальная грамматика. RFC 4180 описывает распространённый вариант с запятой и CRLF, но таблицы и региональные настройки часто используют точку с запятой или табуляцию. Конвертер должен назвать диалект до преобразования строк в объекты.

Выберите символ между полями

CSVBridge предлагает четыре варианта: запятую, точку с запятой, горизонтальную табуляцию и вертикальную черту. Он не угадывает вариант по содержимому, поэтому запятые в тексте не подменят настоящий разделитель. Выбранный символ структурный только вне quoted-поля; внутри кавычек он остаётся данными ячейки.

Считайте CRLF, LF и CR концом записи

Файлы переходят между Windows, Unix и старыми системами, поэтому вне кавычек принимаются CRLF, LF и одиночный CR. Финальный перенос закрывает запись, но не создаёт пустую. В quoted-поле те же символы сохраняются точно и экранируются в JSON как содержимое, не разрывая логическую запись.

Сохраняйте прямоугольный контракт

Первая запись задаёт точные ключи JSON, а каждая следующая должна иметь столько же полей. CSVBridge не дополняет короткие строки, не отбрасывает лишние ячейки, не обрезает заголовки и не объединяет дубликаты. Такое исправление скрывает дефект и сдвигает значения под неверный ключ; видимая ошибка оставляет решение пользователю.