Данные и таблицы · CSV Очиститель
Разделенный точкой с запятой CSV Объяснение: десятичные запятые и настройки локали
· Фон
csv разделители совместимость
В большинстве стран Европы запятая является десятичным разделителем, поэтому в файлах, разделенных запятыми, вместо этого используются точки с запятой. В этом посте объясняется логика локали, лежащая в основе разделения, как принимаются решения в электронных таблицах и что происходит, когда файлы пересекают границу.
Файл от коллеги из-за границы открывается в виде одного столбца — в тот момент, когда большинство людей обнаруживают, что CSV имеет диалекты.
Экспорт с точкой с запятой, открытый с использованием только запятых, отображается как один широкий текстовый столбец. Этот симптом отражает выбор парсера, а не доказательство того, что данные повреждены. ToolAcre предлагает точку с запятой рядом с запятой, табуляцией и вертикальной чертой и записывает фактически использованный символ обратно в элемент управления.
Первый ответ должен быть структурным: проверьте необработанный разделитель и выполните предварительный просмотр. Не заменяйте каждую точку с запятой вслепую, поскольку цитируемый текст может содержать знаки препинания, а изменение байтов без анализа может изменить значения. Чтение с учетом диалекта отличает разделители от содержимого ячейки.
Десятичные запятые: почему «1,5» является допустимым числом во многих языковых стандартах и почему разделитель-запятая делает его неразборчивым
В рабочей тетради точка с запятой объясняется через десятичные запятые. Это полезный контекст обмена, но эта реализация никогда не анализирует `1,5` как локализованный номер. Он сохраняет ячейку как строку. Поэтому значение запятой внутри значения и значение точки с запятой между полями остаются отдельными во время анализа.
Не преобразуйте десятичные знаки при восстановлении разделителей, если этого явно не требует схема назначения. Поле кода или прозы может законно содержать запятую. ToolAcre обрабатывает границы таблицы и оставляет числовую интерпретацию принимающему приложению.
Контекст десятичной запятой правдоподобен, но ToolAcre обрабатывает значения ячеек как строки и не анализирует локализованные числа.
Инструмент не учитывает региональные настройки операционной системы или разделитель списков. Функция автоматического обнаружения анализирует выборку из десяти строк для каждого поддерживаемого кандидата, измеряет максимальную ширину и вознаграждает кандидатов, создающих согласованный прямоугольник. Если ни один из них не создает хотя бы два столбца, он возвращается к запятой.
Этот файловый метод можно воспроизвести в разных местах. Он по-прежнему может плохо выбирать необычные данные или данные, состоящие из одного столбца, поэтому существует ручной выбор. Элемент управления отражает обнаруженное значение, и при его изменении выполняется повторный анализ исходного текста, отбрасывая уже примененные шаги очистки.
ToolAcre определяет форму файла; он не считывает настройки разделителя списков операционной системы
При неправильном разделителе запись с точкой с запятой остается одной ячейкой, а не несколькими столбцами. ToolAcre не интерпретирует локализованные числа, поэтому он не может автоматически изменить `1,5` на другое числовое значение во время анализа. Ошибка видна по количеству столбцов и форме предварительного просмотра.
Обратное несоответствие может разделить запятые без кавычек на дополнительные ячейки и вызвать предупреждения о неровных строках. Кавычные запятые остаются под защитой государственной машины. Прочтите предупреждения и сравните ожидаемую ширину заголовка, а не предполагайте, что правдоподобная первая строка доказывает, что все последующие записи выровнены.
Анализатор показывает структурные показания, а не молчаливые числовые изменения.
Используйте `item;price;note`, затем `A;1,5;"small, red"` и `B;2,0;plain`. Анализ точки с запятой дает три столбца, сохраняя обе строки с запятыми. При анализе запятых внутри полей остаются точки с запятой, и вместо этого может возникнуть вводящее в заблуждение разделение вокруг запятых.
Детектор должен отдавать предпочтение точке с запятой, поскольку этот кандидат дает последовательную форму из трех столбцов, а запятые — нет. Этот пример демонстрирует поведение синтаксического анализатора, не утверждая, что 1,5 имеет какое-либо числовое значение. Принимающая система должна применять собственное документированное десятичное соглашение.
Рабочий пример: обнаружение точки с запятой со строковыми значениями, содержащими запятую
Трансграничный обмен улучшается благодаря разделителю имен отправителя и получателя, кодированию, политике заголовка и соглашениям о значениях. «CSV» сам по себе не решает ни одну из них. Включите небольшое приспособление и проверьте его с помощью точного принимающего анализатора перед отправкой производственного экспорта.
Если требуется вывод запятой, выберите запятую для сериализации после правильного анализа источника с точкой с запятой. Поля, содержащие десятичные запятые, будут автоматически заключены в кавычки, сохраняя их как текст ячейки. Преобразование синтаксиса не переводит десятичные обозначения или форматы денежных единиц.
Чего это не касается — преобразование числовых форматов внутри данных; разделитель и десятичный знак — это отдельные проблемы
Преобразование числового формата находится за пределами восстановления разделителя ToolAcre. Он не преобразует запятые в десятичные точки, не распознает разделители тысяч и не приводит суммы. Это преднамеренное сохранение строк, а не неполный числовой вывод. Схема назначения владеет этим преобразованием.
Маршрут также не может гарантировать, как приложение для работы с электронными таблицами выбирает разделители при открытии файла. Он может создавать только разделитель, выбранный при выводе, и стандартные кавычки вокруг конфликтующих символов. Тестируйте целевое приложение, а не придумывайте поведение поставщика.
Разделитель следует за языковым стандартом, а не за файлом — как ToolAcre CSV восстановление разделителя Cleaner дает вам файл с одним известным разделителем
В этом инструменте разделитель соответствует форме проанализированного файла или выбранному вручную, а не языковым настройкам. Это исправление важно, поскольку два аналитика в разных офисах должны видеть один и тот же обнаруженный исходный символ при загрузке идентичного текста. Окружающая среда не перезаписывает список кандидатов парсера.
Подтвердите контроль, проверьте ширину строк и экспортируйте для известного потребителя. Точка с запятой не является ни сломанной запятой CSV, ни автоматическим доказательством данных с десятичной запятой. Это один из поддерживаемых структурных разделителей, и ToolAcre обрабатывает каждое значение между разделителями как текст.