Самый простой способ открыть CSV с запятыми в Excel

Файлы CSV автоматически связываются с Excel, но когда я открываю их, все строки в основном находятся в первом столбце, например:

введите описание изображения здесь

Это, вероятно, потому, что когда Excel считает "значения, разделенные запятыми", он на самом деле ищет какой-то другой разделитель (я думаю, что это точка с запятой, но это не важно).

Теперь, когда я уже открыл этот файл в Excel, есть ли кнопка или что-то, чтобы сказать ему "открыть этот файл и использовать запятую в качестве разделителя"?

Я знаю, что могу импортировать данные в новую рабочую таблицу и т. Д., Но я специально обращаюсь за помощью в ситуации, когда у меня уже есть файл CSV с запятыми в нем, и я хочу открыть его в Excel, не создавая новую книгу или не преобразовывая исходный файл.

13 ответов

Решение

Это то, что сработало для меня - это сочетание некоторых ответов здесь.

(Примечание: мой компьютер использует настройки чешского формата, которые форматируют числа следующим образом: 1 000,00запятая используется как десятичный разделитель, а пробел - как разделитель тысяч. Разделитель списка по умолчанию в настройках системы ;.)

  1. Я изменил системный разделитель списка на запятую в регионе -> Дополнительные настройки
  2. В Excel 2013 я перешел к "Параметры" -> "Дополнительно" и не выбрал пункт " Использовать системные разделители" (в разделе "Параметры редактирования", который является первым разделом).
  3. Я устанавливаю десятичный разделитель в Excel. и разделитель тысяч в , (разделитель тысяч, вероятно, не имеет значения, но я хотел, чтобы он соответствовал форматированию в США)

Альтернативой шагам 2+3 было бы изменение этих настроек в системных настройках (шаг 1), но я обычно хочу, чтобы числа были отформатированы в соответствии с чешским языком.

Недостатки: в Excel мне теперь нужно вводить десятичные числа, используя локали США, т.е. используя точку вместо запятой. Это немного неестественно, но для меня это приемлемый компромисс. К счастью, клавиша запятой на моей цифровой клавиатуре превратилась в клавишу точки автоматически (и только в Excel - другие приложения по-прежнему выводят запятую).

Перейдите на вкладку " Данные " и выберите текст для столбцов в разделе " Инструменты данных", затем выберите " Разграничить" и нажмите " Далее". Затем выберите запятую в качестве разделителя и нажмите " Готово"

введите описание изображения здесь

Размещение:

sep=<delimeter>

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

Например:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

приведет к тому, что труба (|) будет использоваться в качестве разделителя вместо запятой, без необходимости пользователю сначала запускать мастер импорта.

Я не знаю, удалось ли вам решить эту проблему, но у меня тоже была такая же проблема, и я разобрался с ней после некоторых расследований.

Оказывается, это была проблема региональных условий;

Зайдите в панель управления -> Региональные настройки -> Расширенные настройки и измените разделитель списка на запятую.

У меня была установлена ​​точка с запятой для Южной Африки после того, как я перешел на Windows 8. После того, как я изменил его на запятую, все мои CSV правильно открываются в Excel 2013.

Надеюсь это поможет.

Дополнительный комментарий:
Я использовал те же шаги, что и Lèse majesté, но я также изменил десятичный символ с запятой (,) на fullstop (.), И это решило мою проблему.

Это связано с тем, что по умолчанию Windows 8 использует запятую в качестве десятичного знака, а Excel запутывается, когда ему приходится использовать оба символа в качестве разделителя и десятичного символа.

Очевидно, Excel использует региональный параметр Windows 7 для разделителя по умолчанию для CSV (который по-видимому является вкладкой по умолчанию). Вы можете изменить эту настройку следующим образом.

Тем не менее, я не знаю, каковы будут другие последствия. Я полагаю, что если все файлы CSV на вашем компьютере разделены запятыми, то проблем быть не должно. Но если у вас есть другая (скорее всего, Microsoft) программа, которая также использует файлы CSV и обычно использует файлы CSV, отформатированные с другим разделителем, то это может быть проблематично.

Например, если Outlook использует, например, разделенные табуляцией CSV для импорта / экспорта контактов, и вы получаете такие CSV из внешнего источника (Gmail, другой компьютер и т. Д.), То изменение этого общесистемного параметра может помешать открытию Outlook эти разделенные табуляцией CSV.

LibreOffice Calc имеет очень продвинутый CSV-фильтр, который позволяет выбирать разделители, форматы и кодировки. Я интенсивно работаю с данными в различных форматах, и очень часто мне нужно отправлять эти данные в формате Excel пользователям. Я использую LibreOffice Calc для преобразования csv-файлов в нужный формат, а затем сохраняю как xls.

Это может не отвечать на вопрос, как это легко сделать в Excel, но отвечает на вопрос, как это сделать легко, тем более, что OP в комментариях предлагает использовать что-то отличное от Excel, что будет приемлемым вариантом.

Excel 2010 - Помимо проверки расширенных региональных настроек, обязательно проверьте дополнительные настройки Excel:

Файл -> Параметры -> Дополнительно

Убедитесь, что установлен флажок "Использовать системные разделители".

Пошаговое руководство для недоумения:

  1. Нажмите клавишу Windows
  2. Введите "intl.cpl" и нажмите Enter.
  3. Нажмите "Дополнительные настройки".
  4. Перейдите на вкладку "Числа":
  5. Измените десятичный символ на точку.
  6. Измените "Символ группировки цифр" на пробел.
  7. Измените "Разделитель списка" на запятую.
  8. Перейдите на вкладку "Валюта":
  9. Измените десятичный символ на точку.
  10. Измените "Символ группировки цифр" на пробел.

В Excel на вкладке ДАННЫЕ в подразделе " Получение внешних данных" нажмите "Из текста" и импортируйте CSV-файл в мастер.

Я знаю, что ответ уже принят, но один пункт, который нужно проверить, - это кодировка файла CSV. У меня есть скрипт Powershell, который генерирует файлы CSV. По умолчанию он кодировал их как UCS-2 Little Endian (для Notepad++). Это откроет файл в одном столбце в Excel, и мне придется выполнить преобразование текста в столбцы, чтобы разделить столбцы. Изменение сценария для кодирования того же вывода, что и "ASCII" (UTF-8 без спецификации на Notepad ++), позволило мне открыть CSV напрямую с выделенными столбцами. Вы также можете изменить кодировку CSV в Notepad ++.

  • Кодировка меню> Преобразовать в UTF-8 без спецификации
  • Сохраните файл CSV
  • Открыть в Excel, столбцы должны быть разделены

Для моей системы настройки уже были установлены на то, что предлагали другие (десятичный символ установлен на. (Точка) и разделитель списка установлен на (запятая), но у меня все еще были проблемы с отображением при импорте файла CSV, экспортированного из другого приложения,

После небольшой проб и ошибок я нашел решение, которое открывает каждый CSV-файл в правильном представлении.

Вот что работало для меня в Excel 2013 с Windows 8:

Панель управления> Часы, Язык и Регион> Регион> Дополнительные настройки> Разделитель списка установлен на ,; (запятая И точка с запятой) -> нажмите "Применить", а затем посмотрите, справится ли это.

В более новой версии Excel 2010 вы можете открыть (меню: Файл, Открыть или Control-O) файл.CSV в виде текстового файла. Затем вы получаете мастер, так же просто, как с LibreOffice Calc, где вы можете выбрать правильный разделитель полей.

Это работает только с файлами с соответствующим расширением.CSV. Моим приложением было создание выходного файла CSV с расширением.ACC, и попытка открыть его в Excel с помощью метода, приведенного выше, приводит вас к совершенно другим углам Excel:-(

Изменение десятичного разделителя на. (точка) и разделитель списка, (запятая) помогли сохранить CSV в нормальном виде в Excel на норвежских компьютерах.

Другие вопросы по тегам