Excel не шанує налаштування роздільника для читання або запису файлів CSV


20

Під час збереження / відкриття файлів CSV в Excel розділювачем за замовчуванням є крапка з комою (;), оскільки мені потрібно, щоб це була кома (,) Я намагався змінити це, змінивши налаштування мови та регіону після кількох інших публікацій щодо цієї проблеми ( тобто як змусити Excel інтерпретувати кому як роздільник за замовчуванням у файлах CSV? ).

Однак після зміни роздільника списку в цих налаштуваннях мій Excel зберігає файли CSV крапкою з комою. Це тому, що Excel був встановлений, коли роздільник списку був встановлений як крапка з комою? чи є інша установка, якої я тут відсутні?

Спасибі заздалегідь.


Чи є проблема з читанням наявних файлів CSV або створенням файлів із комою як роздільника?
fixer1234

І те й інше, я вже зробив те, що згадував @Raystafarian перед збереженням нового файлу. Моя регіональна установка правильна. Потім я відкриваю Excel і зберігаю як CSV, і коли я відкриваю файл у блокноті, я можу побачити, що він використовував крапку з комою. Якщо я відкриваю в Excel, він завантажується правильно, оскільки Excel як і раніше використовує; для розділення стовпців.
Сандра

Відповіді:


35

Я знайшов проблему. Мій десятковий символ у регіональних налаштуваннях також був комою (європейською), тому навіть коли мій роздільник списку був комою, CSV зберігався крапкою з комою. Тепер я змінив свій десятковий символ на крапку і тепер файл CSV створено правильно з комами як роздільники. Я тестував це двічі і тепер знаю, що повинен бути виняток: якщо десятковий символ є комою, то роздільник списку буде крапкою з комою, навіть якщо це встановлено інакше.


12
Дякуємо, що знайшли час для оновлення публікації з відповіддю.
Студент Гері

5

Для економії

Перед збереженням файлу потрібно налаштувати роздільник списку на мовні та регіональні налаштування -

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


Для відкриття

Перейти до даних - отримати зовнішні дані - з тексту

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

виберіть файл

Виберіть обмежене , натисніть наступний введіть тут опис зображення

і виберіть розділову кому

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

Клацніть закінчити

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


Або витягніть його та використовуйте текст у стовпцях, які дивіться тут


Якщо я читаю питання правильно, то, схоже, проблема полягає у створенні (збереженні) файлу з розмежуванням з використанням коми для роздільника (2-й абзац).
fixer1234

@ fixer1234 так, спершу я це прочитав. Але тоді я подумав, що перший пункт є важливим. Я не маю уявлення, що це правильно. Так чи інакше, у мене немає іншого рішення для створення, окрім того, що згадувала ОП, яку вони вже намагалися.
Райстафаріан

Так, я змінив регіональні налаштування перед тим, як зберегти файл. Це не допомогло. Коли я отримую файли CSV від інших людей, які розміщені комою, то я правильно використовую ваш метод імпорту даних, тоді я зберігаю і він переходить до крапки з комою. Це дратує, тому що щоразу мені потрібно переходити до блокноту та замінювати всі крапки з комою комами, перш ніж використовувати мій CSV як файл імпорту.
Сандра

0

Ось дуже приємний макрос, який працює досить добре:

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub

0

Це трохи старенько, але я зіткнувся з тією ж проблемою:
CSV було розмежовано крапкою з комою ( ;). Налаштування системного роздільника (Windows) також встановлені крапкою з комою.

  • Якщо я відкрив CSV вручну, файл розділився правильно.
  • Якщо я дозволю VBA відкрити його, він розділив його неправильно комою.

Використання, Delimiter:=";"мабуть, працює лише з .txt.

ЗАРАЗ, використовуючи Local :=Trueвирішену для мене проблему:

Workbooks.Open(Filename:=fullpath, Local:=True)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.