Як відкрити CSV-файли з роздільною комою з комою в американській версії Excel


95

Коли я двічі клацну по файлу .csv, він відкривається в Excel. У файлах csv є стовпці, розділені крапкою з комою (не комами, а й допустимим форматом).

За допомогою німецької установки Windows / Excel відкритий файл відображається правильно, стовпці відокремлюються там, де крапки з комою існували у файлі csv.

Але коли я роблю те ж саме в установі Windows / Excel для англійської (США) англійською мовою, імпортується лише один стовпець, який показує цілі дані, включаючи крапки з комою в першому стовпчику.
(У мене немає доступних налаштувань англійською мовою для тестів, користувачі повідомили про поведінку)

Я намагався змінити значення роздільника списку в регіональних налаштуваннях Windows, але це нічого не змінило.

Що я можу зробити, щоб мати можливість двічі клацнути ці CSV-файли в англійській програмі?

EDIT:
Здається, найкраще рішення не покладатися на CSV-файли в цьому випадку. Я сподівався, що існує деяке форматування CSV-файлів, що дозволяє використовувати їх у міжнародному масштабі.
Найкращим рішенням здається, що я перейду до створення XLS-файлів.


1
Ви можете порекомендувати користувачам використовувати LibreOffice Calc - він обробляє CSV з довільними роздільниками.
naught101

Відповіді:


1

Ці файли поширюються? завантажено? Локально генерується?

Я думаю, що унікальний спосіб вирішити свою проблему без доступу до ПК користувача і без нього не потрібно робити щось інше, ніж "подвійне клацання" на файлі - це перетворити файли в .xls перед відключенням або розміщенням для завантаження чи генерації a .xls (або інший формат, який працює) замість файлу .csv. Це можна зробити за допомогою сценарію або вручну з робочим Excel, залежно від кількості файлів та способу їх створення.


так, я думаю, що це найкращий спосіб безпосередньо створити XLS-файли. Я сподівався, що для CSV-файлів існує якесь форматування, яке робить їх міжнародними зручними, але якщо це неможливо, XLS-файли працюватимуть не залежно від місця.
Holgerwa

8
Наскільки це правильна відповідь, марно.
Стіві Г

Страшна відповідь - див. Іншу схвалену відповідь.
jmc

203

Додайте це в перший рядок файлу CSV:

sep=;

або

sep=,

Це змінить системні налаштування ("символ роздільника списку"), і Excel вірно відкриє файл.


4
+1 зробив це у чудовому 2010 році, і це спрацювало чудово.
N Reed

8
Чи є список інших таких налаштувань? Повідомлення Excel використовувати, оскільки десятковий роздільник зазвичай йде разом із тим, щоб сказати йому використовувати; як роздільник стовпців.
ZweiBlumen

5
Відмінно працює для Excel, але зауважте, що це може не підтримуватися в інших електронних таблицях або програмах даних. Це може бути лише невелика проблема, просто показуючи додатковий перший рядок з ним sep=або sep=;в ньому, але деякі автоматизовані програми або сценарії можуть не сподіватися на додатковий перший рядок, внаслідок чого заголовки стовпців або сам sep=;рядок інтерпретуються як фактичні дані.
Sygmoral

5
Будьте обережні з цим. Якщо ви зберігаєте в Excel, це: - Видаліть специфікацію роздільника - збережіть за допомогою роздільника регіональних налаштувань
Bjinse

1
Можна підтвердити fwrite($fileHandle, 'sep=,' . "\r\n");повністю виправлену проблему fputcsvв PHP.
h2ooooooo

26

Ви можете скористатися майстром імпорту тексту. Це не працює в режимі подвійного клацання, але це найкраще, що я можу придумати, і це не стосується замішання з налаштуваннями затримки.

У програмі Excel 2003 goto Data-> Import External Data-> Import Dataна панелі меню (не можу сказати, де він знаходиться у 2007 році, наразі мені це не можна передавати). Знайдіть і виберіть файл CSV.

Коли він відкриється, ви отримуєте знак Text Import Wizard, який дозволяє вказати роздільник (и) для використання.


У Outlook 2007 потрапив на вкладку Дані та виберіть свою колонку та натисніть на кнопку Текст у стовпці на наборах інструментів даних.
Hondalex

1
Так, це рішення. На жаль, користувачі, яким потрібно переглянути дані, не бажають цього робити. Вони можуть впоратися з "подвійним клацанням-відкрити", але не зможуть зробити щось складніше. Ми намагалися хоч трохи їх виховати, але вони відмовляються.
Holgerwa

1
@Holgerwa - чи можна запускати файли через якийсь процес перетворення, перш ніж надавати їх користувачам? Або вони повинні залишатись розмеженими напівкрапкою? Інші запропонували це, але слід досить просто замінити напівколонки на коми за допомогою якогось сценарію (я б радив не просто знайти / замінити, оскільки ви не хочете конвертувати ці внутрішні лапки).
DMA57361,

6

Дивіться цю статтю:
Проблеми з відкриттям файлів CSV за допомогою Excel? Випуск коми і крапки з комою в Excel завдяки регіональним налаштуванням для Європи

Що пропонує 3 рішення:

  • Змініть розширення файлу CSV на TXT (коли ви відкриєте файл TXT за допомогою Excel, він запустить майстра імпорту текстових файлів, де ви зможете вибрати роздільник)
  • Замініть всі "," на ";" у ваших файлах CSV
  • Змініть свої регіональні та мовні налаштування

Оскільки ви лише змінили значення роздільника списку в регіональних налаштуваннях Windows, зазначу, що в статті йдеться про введення "." Для Decimal Symbolта "," для List Separator.

Якщо ви відчуваєте себе комфортно з VBA, то дивіться:

Відкриття файлу CSV з роздільною комою з комою та VBA в
експорті та імпорті тексту за допомогою Excel


Я погоджуюсь, всі дійсні варіанти, але, на жаль, я не перебуваю в нормальній ситуації з користувачами цих CSV-файлів. .TXT-імпорт не працюватиме (див. Мій коментар до відповіді DMA57361), заміна крапки з комою не буде працювати через проблеми з розділовим знаком десятків, а зміна регіональних налаштувань не буде працювати, оскільки я не маю доступу до ПК, які використовуються. Користувачі просто двічі клацнуть файлами, і якщо вони не отримають того, що очікують, вони подадуть скаргу та відмовляться допомогти у вирішенні проблеми.
Хольгерва,

@Holgerwa: Якщо ви не керуєте ПК користувачами, ви нічого не можете зробити. Оскільки моя інша пропозиція - змінити обробник на розширення .csv, щоб бути власною програмою, яка виправить (але розумно) роздільники та викликає Excel.
harrymc

@Holgerwa: Будь ласка, зверніть увагу на мою редакцію, що стосується регіональних налаштувань.
harrymc

3

Найкращий спосіб, який я спробував, - це встановити регіональні налаштування вашого комп'ютера, як показано нижче:

  • у розділі "Стандарт і формати" виберіть "Англійська (США)";
  • у розділі "Місцеположення" виберіть "Сполучені Штати".

Це працює для мене, просто спробуйте.


Власне, питання ОП - навпаки. Якщо слід змінитись на європейський регіон, щоб отримати символ як знак десяткових знаків, а тоді крапкою з комою буде роздільник списку.
йош м

0

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


Ці CSV-файли повинні працювати в різних країнах (регіональні налаштування), а в багатьох регіональних налаштуваннях кома є десятковою роздільницею замість крапки. "Стандартний" файл, розділений комами, не працює. Я думаю, це причина, через яку крапки з комою додаються як дійсний роздільник для CSV-файлів.
Holgerwa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.