188

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

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

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

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

13 ответов13

174

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

156

Размещение:

sep=<delimeter>

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

Например:

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

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

49

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

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

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

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

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

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

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

19

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

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

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

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

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

10

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

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

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

7

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

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

4

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

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

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

3

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

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

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

0

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

0

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

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

0

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

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .