Конвертировать excel в csv как выбрать разделители

Как заставить Excel интерпретировать запятую как разделитель по умолчанию в файлах CSV?

У меня есть несколько файлов .csv. Некоторые из них разделены запятыми, некоторые с разделителями табуляции (возможно, их следует называть .tsv . )

csv Расширение получает связано с Excel при установке Excel. Однако, если я открою один из этих файлов с помощью Excel, все будет помещено в один и тот же столбец, и запятая не будет интерпретироваться как разделитель.

Я могу вместо Файл -> Импорт . выбрать файл и выбрать точный способ интерпретации содержимого (разделители, типы данных и т. Д.). Но в большинстве случаев я просто хочу посмотреть на файл через табличное представление. Я не хочу обрабатывать его в Excel.

Есть ли способ заставить Excel автоматически интерпретировать разделитель и показывать CSV-файл как правильную таблицу, как только он открывается? Мне нужно это, чтобы я мог использовать Excel для быстрого просмотра таких файлов.

Я подозреваю, что должен быть способ, иначе Excel не связался бы с файлами CSV.

При открытии CSV-файлов Excel будет использовать системный региональный параметр, вызываемый List separator для определения используемого по умолчанию разделителя.

Microsoft Excel открывает файлы .csv, но, в зависимости от региональных настроек системы, он может ожидать точку с запятой в качестве разделителя вместо запятой, поскольку в некоторых языках запятая используется в качестве десятичного разделителя. (из Википедии )

В Windows вы можете изменить List separator настройки в соответствии Regional and Language Options с указаниями на веб-сайте поддержки Office :

Изменить разделитель в текстовом файле CSV

  1. Нажмите меню Пуск в Windows.
  2. Нажмите Панель управления.
  3. Откройте диалоговое окно «Язык и региональные стандарты».
  4. Нажмите вкладку региональных параметров.
  5. Нажмите Настроить / Дополнительные настройки (Win10).
  6. Введите новый разделитель в поле Разделитель списка.
  7. Нажмите ОК дважды.

Примечание : это работает только в том случае, если десятичный символ также не обозначен как запятая (в соответствии с приведенной выше цитатой из Википедии). Если это так, Excel не будет использовать запятую в качестве разделителя списка, даже если он выбран. Для многих регионов за пределами США запятая является десятичным символом по умолчанию.

В Mac OS X этот параметр, по-видимому, выводится из параметра десятичного разделителя (на панели « Язык и регион» в Системных настройках перейдите к разделу «Дополнительно» ). Если десятичный разделитель является точкой, то разделитель CSV по умолчанию будет запятой, но если разделитель десятичных чисел является запятой, то разделитель CSV по умолчанию будет точкой с запятой.

Как вы сами сказали в комментарии, у пользователей Mac есть альтернатива — быстро просмотреть эти CSV-файлы. Это плагин для Quick Look, называемый quicklook-csv, который обрабатывает обнаружение разделителя.

Как открыть в Excel файл CSV с разделителем запятая?

  • Проблема экспорта поисковых запросов (ПЗ) из Google вебмастер
  • CSV с разделителем запятая в UTF-8
  • Проблема с кодировкой
  • Разделитель запятая в CSV
  • То, что помогло
  • Онлайн сервис для нормализации CSV-файлов
  • Подведём итоги
  • Проблема экспорта ПЗ из Google вебмастер

    Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы – предварительно выбрав нужный сайт в списке.

    Здесь же есть и экспорта данных в CSV-формате, с возможностью его открытия в Google Таблицы (онлайн аналог Excel) . Ищите кнопку «Загрузить эту таблицу». К слову, количество отображаемых запросов на странице не влияет на полноту экспортируемых данных.

    Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.

    проблемы с кодировкой в Google Таблицы при открытии экспортируемого CSV файла в кодировке UTF-8

    Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .

    CSV с разделителем запятая в UTF-8

    Проблема с кодировкой

    Проще всего решить проблему с кодировкой. Для этого вы можете использовать любой текстовый редактор с этой функцией, например Notepad++. Его вы можете скачать бесплатно на официальном сайте: unotepad-plus-plus.org. Далее запускаем редактор и открываем в нём наш CSV-файл, а потом кликаем пункт меню «Кодировки» и меняем на нужную, т.е. пункт «Преобразовать в ANSI».

    преобразование кодировки файла в Notepad++ и удаление BOM

    У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 – но, думаю, вы это и сами заметилии, а принцип тот же.

    Разделитель запятая в CSV

    Теперь, что касается разделителя запятой. По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:

    значение,1,"значение, с запятой",

    По идее здесь должна помочь настройка самой операционной системы Windows: Пуск > Панель управления > Язык и региональные стандарты. На вкладке «Форматы» кликаем кнопку «Изменить этот формат…» В открывшемся окне, на вкладке «Числа» замените «Разделитель элементов списка» на нужный, т.е. символ точки с запятой (;) меняем на запятую (,) .

    изменения разделителя элементов списка в настройках операционной системы Windows

    Правда, у меня это не сработало. Да и менять настройки операционной системы, как по мне, дело не благодатное. Тем не менее, я решил указать этот вариант решения проблемы, т.к. на большинстве специализированных форумов ссылаются именно на него.

    То, что помогло

    Увы, но какой-то дополнительной обработки файлов с расширением .csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на .txt . Так что меняем расширение файла и открываем его в Excel.

    Появится окно «Мастер текстов (импорт)». Здесь вы можете выбрать формат исходных данных, начальную строку импорта и кодировку файла (нам нужна 1251 : Cyrillic ) . К слову, почему нужно было менять кодировку, когда её можно выбрать в мастере? Потому, что кодировки UTF-8, по крайней мере у меня, здесь нету. Кликаем кнопку «Далее».

    выбор формата исходных данных, начальной строки импорта и кодировки файла в мастере текстов MS Excel

    На следующем шаге мы можем выбрать символ-разделитель, причем несколько. Ставим галочку «запятая» и убираем галочку «знак табуляции». Здесь же можно выбрать и символ ограничителя строк. Это тот, что используется для значений, в которых присутствуют спецсимволы (двойные кавычки, запятая, точка с запятой, новая строка и т.д.) . Вариант с двойной кавычкой, в моём случае, это то, что надо. Обратите внимание на поле «Образец разбора данных», данные стали таблицей. Кликаем кнопку «Далее».

    выбор символа-разделителя и символа ограничителя строк в мастере текстов MS Excel

    На последнем шаге можно указать формат данных столбцов, правда выбор здесь не велик: общий (по умолчанию) , текстовый, дата и пропустить столбец. Последний вариант представляется мне наиболее интересным, т.к. позволяет сразу исключить ненужные столбцы. Просто выберите соответствующий столбец и кликните для него вариант «пропустить столбец». Кликаем кнопку «Готово».

    выбор формата данных столбцов и их пропуск в мастере текстов MS Excel

    Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.

    Онлайн сервис для нормализации CSV-файлов

    Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV. Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением .csv .

    бесплатный онлайн сервис для нормализации CSV-файлов

    К слову, скрипт преобразовавает значение процентов, например: 95 % – в нужное значение для столбца «проценты» в Excel, т.е. делится на 100 и получаем число с плавающей запяток, например: 0,95 . Если нужны ещё какие-то преобразования: пишите, попробуем доработать.

    Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.

    Подведём итоги

    Некоторые онлайн сервисы предоставляют возможность экспорта данных в просто и удобном CSV-формате. Как следует из названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие приложения трактуют этот формат несколько своевольно, что приводит к закономерным проблемам. К тому же сейчас всё более популярна кодировка UTF-8, в то время как Excel или Google Таблицы используют ANSI.

    Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на .txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV, правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!

    Короткая ссылка: http://goo.gl/rAe1Xb

    Сейчас в инете дофига различный csv конверторов, которые всё это понимают и настраивают. Да и софта такого рода хватает.

    23 января 2014 г., 13:21 Удалить комментарий

    @Максим безусловно, вариантов решения данной проблемы существует достаточно много. В тоже время, практика показывает, что люди склонный использовать то, что есть под рукой и чем оно проще тем лучше. В случае с Normalization CSV мы имеем не столько csv конвертор, сколько нормализатор, который работает исходя из особенностей экспорта данных онлайн сервисов, в частности Google инструмента для веб-мастеров.

    23 января 2014 г., 15:25 Удалить комментарий

    @Константин Кирилюк если судить по показателям соцкнопочек, то люди выбирают не самые простые решения и отдают предпочтение перекодированию, переименовыванию и мастертекстовованию 🙂

    29 января 2014 г., 19:10 Удалить комментарий

    @Максим ну, не всё так сразу. К тому же популяризацией своего сервиса я не занимался, да и не стремлюсь. несколько опасаюсь нагрузок. Так что пусть используют вот такие, далеко не простые решения, а кому надо могут воспользоваться и сервисом.

    30 января 2014 г., 10:42 Удалить комментарий

    Заметил траблу с Normalization CSV. Если в CSV файле присутствует символ бесконечности ∞ то на нём всё и стопорится, по крайней мере если делать смену кодировки из UTF-8 в ANSI.

    1 февраля 2014 г., 5:21 Удалить комментарий

    @Максим да, была такая проблема. Пытался и так и эдак, но пришлось заменить этот символ на знак вопроса. Это самый оптимальный вариант, который я вижу на данный момент. Как я понял проблема в iconv мутках.

    1 февраля 2014 г., 6:09 Удалить комментарий

    28 августа 2014 г., 11:52 Удалить комментарий

    Помимо ‘,’ в Разделитель элементов списка в разделе Числа — Разделитель целой и дробной части поставьте ‘.’ и все заработает

    3 сентября 2014 г., 11:52 Удалить комментарий

    Константин, большое спасибо

    25 октября 2015 г., 22:23 Удалить комментарий

    Помимо ‘,’ в Разделитель элементов списка в разделе Числа — Разделитель целой и дробной части поставьте ‘.’ и все заработает

    вот это очень помогло. спасибо анониму от анонима! большое спасибо!

    12 августа 2016 г., 16:36 Удалить комментарий

    чувак, отличная публикация. благодарю

    1 сентября 2016 г., 18:31 Удалить комментарий

    Огромное спасибо, статья очень выручила! 🙂

    25 сентября 2016 г., 12:27 Удалить комментарий

    15 декабря 2016 г., 22:31 Удалить комментарий

    Спасибо за статью, познавательно!
    Поделюсь решением, которое нашел для себя — бесплатная утилита grepWin
    Осуществляет поиск и замену текста по многим файлам одновременно. В запросах на поиск и замену можно использовать регулярные выражения.
    Если файлов много ей просто цены нет — сложил в одну папочку (можно с подпапочками при желании)все файлы которые нужно править, запускаешь grepWin из контекстного меню этой папки, и меняй что душе угодно.
    Я лично стабильно имею дело с файлами статистики, собираемыми командой sar на linux. Один раз написал нужные тебе регэкспы (с непривычки правда не сразу получится, рекомендую попрактиковаться на regex101.com) и любое количество файлов прогоняешь за секунды/пару минут (ну тут смотря по размеру файлов и сложности изменений, может и дольше занять)
    Поделюсь своими регулярками:
    приходят файлы с колонками цифр, колонки разделены пробелами. Чтобы открыть в экселе надо серию пробелов заменить на ;
    Искать: \s <2,>Заменить на: ;
    Замена десятичной точки на запятую:
    Искать (\d)\.(\d) Заменить на: $1,$2
    Не забываем выбрать опцию RegExp search сверху от поля для поиска.

    22 февраля 2017 г., 12:05 Удалить комментарий

    Помог понять (потому что подробно изложил)! Спасибо.

    7 мая 2017 г., 7:32 Удалить комментарий

    В Notepad++ я записал макрос с такими действиями:
    1. Найти все запятые , и заменить на точку с запятой ;
    2. Найти все точки . и заменить их на запятые ,
    3. Сохранить файл
    Теперь любой "некирилличный" CSV преобразовывается одной командой и потом нормально открывается в Excel без изменений региональных настроек.

    Ссылка на основную публикацию