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


196

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

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

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

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

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


2
По ряду причин, помимо ограничителя, очень плохо разрешать Excel открывать CSV (или любой другой простой текстовый файл), используя настройки по умолчанию. В зависимости от вашего исходного файла, вы будете повреждать ваши данные. Я написал подробную статью по этому вопросу здесь: theonemanitdepartment.wordpress.com/2014/12/15/…
— Wouter

4
Так трудно понять, что должно происходить внутри Microsoft, что Excel все еще не может открывать CSV-файлы просто так. Это также разбивает числа и т. Д. Удивительным образом. Даже JavaScript не явно конвертирует это плохо.
— USR

Извините, что могу копать ... но есть очень хороший шанс, что ваша первая строка не содержит запятых, что заставляет Excel отказаться от попыток
— patricktokeeffe

Просто используйте в ;качестве разделителя и, открыв файл двойным щелчком, разделите его на столбцы в MS Excel.
— Hrvoje T

Ответы:


179

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

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


55
И вы должны делать это каждый раз после двойного щелчка * .csv в Windows Explorer? Я почему-то не могу поверить, что нет более простого способа, особенно если Excel ассоциируется с расширением файла * .csv.
— Борек Бернард

3
Обычно должен открываться мастер, заставляющий вас выполнять этот процесс при открытии файла, но если это не так, вы можете сделать это следующим образом. Вы также можете перейти к данным - получить внешние данные - из текста и запустить мастер импорта оттуда.
— Raystafarian

13
Вот в чем проблема, я не хочу импортировать какие-либо данные, я открываю совершенно правильный CSV-файл, с которым Excel даже ассоциирует себя. Но хорошо, если это так, мне, вероятно, нужно будет найти что-то еще для редактирования файлов CSV.
— Борек Бернард

2
Да, это PITA, то же самое здесь с Excel 2003. Я также должен использовать Data \ Import. Само по себе это не проблема, но я делаю этот импорт только два раза в год, поэтому я регулярно забываю и сначала пробую File / Open
— ;-(

1
@gstackoverflow вы можете, просто выберите столбец A, а затем сделайте это.
— Том

162

Размещение:

sep=<delimeter>

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

Например:

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

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


7
Для этого , чтобы работать в Excel 2013, вы должны снимите Use system separators вOptions>Advanced
— Michael Field

1
Можете ли вы определить десятичный разделитель подобным образом? Я хочу, чтобы это было ., например, потому что 1.5в моей системе .есть разделитель для тысяч.
— CGFoX

2
Это сработало для меня, даже если я проверил «Использовать разделители системы». Никакое другое решение не помогло мне.
— благоговение

Подтверждение того, что это работает в Excel 2016 с установленным «Использовать системные разделители». Это здорово.
— Бас

Идеальное решение глупой проблемы! (Excel должен быть в состоянии распознать используемый разделитель или, по крайней мере, спросил меня, и позвольте мне решить!) Далее : возможно ли заставить Excel использовать также другой набор символов ? Все мои CSV находятся в UTF-8, но Excel пытается открыть их как «Macintosh», что создает много проблем для меня!
— до

51

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

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

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

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

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

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

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


Уже установлено, как это, и игнорируется Excel. По-прежнему не разделяется на запятые.
— Эллиот

Ir, вероятно, требует по крайней мере выхода из системы, чтобы войти в силу.
— Герт ван ден Берг

Сработал у меня после смены десятичного знака, спасибо!
— Джеймс Кэмерон

1
Ну, я все еще думаю, что это возмутительно, что Excel использует региональные настройки для того, чтобы прочитать формат файла!
— благоговение

Благодарю. Этот параметр решил огромную проблему для меня на работе. Excel такой глупый!
— Моха

19

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

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

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

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

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


Это не работает с Excel 2010 / cz :-(
— Leos Literak

@LeosLiterak: Я только что попробовал это в Excel 2013, и это сработало.
— Sk8erPeter

10

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

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

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


3
Я попытался изменить «региональные и языковые настройки»> «Форматы»> «Дополнительные настройки»> «Разделитель списков», однако это не повлияло на открытие файлов CVS в Excel. Так что, к сожалению, это не решение проблемы.
— Борек Бернард

2
То же самое и с Excel 2010 и Windows 7. Это было уже, в моих настройках, и Excel по-прежнему по умолчанию на вкладке.
— rhsatrhs

Любая идея, если мы можем ввести 2 разных символа в этом поле на панели управления? Например, ;,разрешить оба символа в качестве списка разделителей?
— Джунейт

7

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

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


4

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

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

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


2
Или, конечно, убедитесь, что он не проверен, если вы хотите импортировать что-то, что отличается от ваших региональных настроек. :-) Но: приятно знать, что этот параметр существует; Я никогда не слышал об этом раньше.
— Арьян

1
Эти параметры влияют только на разделители чисел, а не на разделители списков.
— Борек Бернард

3

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

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

Это хорошо, если вы всегда используете свои собственные файлы .CSV. Но это не работает, когда вы получаете файл от кого-то, кто использовал запятую в качестве разделителя.
— Стивенвх

0

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


Также на моем болгарском
— Петър Петров

0

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

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

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

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


0

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


0

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

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

ASCII и UTF-8 без спецификации - это не одно и то же. На самом деле, ASCII легко вписывается в UTF-8 без спецификации, как в UTF-8, что описано в стандарте. Как только символы, не включенные в ASCII, появятся, он может просто вместо этого вывести ANSI или UTF-8 ... Если вы
— выводите,

0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.