Статті

CSV відкривається в Excel в один стовпець? Чому так і як виправити

Команда Opener5 хв читання

Коли CSV відкривається і все втиснуто в стовпець A, файл використовує інший роздільник, ніж той, на який розраховує Excel: зазвичай це коми у файлі, відкритому на комп’ютері, налаштованому на крапки з комою, або навпаки. З даними все гаразд. Відкрий файл інструментом, що сам визначає роздільник, як-от переглядач CSV, або скажи Excel, який роздільник використати, через імпорт чи функцію «Text to Columns».

Коми, крапки з комою і десяткова кома

«CSV» означає comma-separated values — «значення, розділені комами», але на практиці роздільником буде те, що обрала програма, яка записала файл. Ось той самий рядок, записаний обома способами:

Дата,Клієнт,Сума
2024-03-15,ТОВ Соняшник,1250.50
Дата;Клієнт;Сума
2024-03-15;ТОВ Соняшник;1250,50

Причина другого варіанта — десятковий роздільник. У більшій частині Європи — у Німеччині, Франції, Італії, Іспанії, Нідерландах, Польщі, Україні та багатьох інших країнах — дробові числа пишуть із десятковою комою: 1250,50. Якби кома ще й розділяла стовпці, 1250,50 розпалося б на дві клітинки. Тому програми для таблиць у цих регіонах використовують як роздільник стовпців крапку з комою.

Жоден формат не є неправильним. Це просто дві домовленості, і проблеми починаються, коли файл, записаний за однією, відкриває програма, що чекає іншої. Більше про сам формат — у статті що таке CSV-файл.

Чому Excel складає все в стовпець A

Коли ти двічі клацаєш файл .csv, Excel не аналізує файл, щоб визначити роздільник. Він бере роздільник елементів списку з регіональних налаштувань операційної системи. У Windows це налаштування залежить від регіону: на комп’ютері, налаштованому на країну з десятковою комою, роздільником списку зазвичай є крапка з комою, а на комп’ютері з регіоном США чи Велика Британія — кома.

Тож конфлікт буває в обидва боки:

Те саме стосується вивантажень із вебсервісів, інтернет-магазинів і CRM. Багато з них завжди пишуть коми, незалежно від того, де ти, — тому користувачі в Європі стикаються з цим так часто. Схожа проблема — коли літери перетворюються на символи на кшталт é — стосується кодування, а не роздільників; див. дивні символи в CSV.

Спосіб 1: відкрий файл з автоматичним визначенням роздільника

Якщо файл треба лише прочитати — перевірити замовлення, знайти клієнта, подивитися, що у вивантаженні, — найшвидше відкрити його переглядачем, який сам визначає роздільник.

Переглядач CSV від Opener аналізує файл, визначає, чим він розділений — комами, крапками з комою, табуляціями чи вертикальними рисками, — і показує нормальну таблицю. Він також визначає кодування тексту (UTF-8, Windows-1251 або Windows-1252) і правильно обробляє значення в лапках, що містять роздільник, як-от "Шевченко, Тарас". Нічого не треба налаштовувати, акаунт не потрібен, а файл лишається в браузері — його ніколи не завантажують на сервер. Результат можна шукати, сортувати й експортувати в CSV або JSON.

Спосіб 2: імпорт або «Text to Columns» в Excel

Щоб працювати з даними в Excel, не відкривай файл подвійним клацанням, а вкажи, який роздільник використати.

Імпорт із тексту/CSV. Відкрий порожню книгу, перейди на вкладку «Дані» (Data) і вибери «From Text/CSV». Excel покаже попередній перегляд зі списком Delimiter (роздільник); перемикай кому й крапку з комою, доки стовпці не виглядатимуть правильно, а потім завантаж дані. У тому самому вікні можна вказати кодування файлу, якщо літери перетворилися на кракозябри.

Text to Columns. Якщо дані вже лежать у стовпці A:

  1. Виділи стовпець A.
  2. На вкладці «Дані» (Data) вибери Text to Columns.
  3. Вибери Delimited (тобто «з роздільниками»), а потім познач роздільник, який використовує файл (наприклад, крапку з комою або кому).
  4. Заверши роботу майстра.

В обох способах варто стежити за одним — форматами чисел. Файл із 1250.50, відкритий у системі з десятковою комою, може прочитати суму як текст або як зовсім інше число. У вікні попереднього перегляду під час імпорту та на останньому кроці майстра «Text to Columns» можна вказати, як трактувати стовпці, — перевір кілька сум, перш ніж покладатися на підсумки.

Спосіб 3: додай рядок «sep=» для Excel

Є трюк, який працює лише в Excel: додати на самий початок файлу рядок, що називає роздільник.

sep=;
Дата;Клієнт;Сума
2024-03-15;ТОВ Соняшник;1250,50

Відкрий файл у простому текстовому редакторі, додай першим рядком sep=; (або sep=, для файлу з комами), збережи й знову відкрий подвійним клацанням. Excel прочитає підказку, використає цей роздільник і не показуватиме сам рядок.

Це обхідний шлях, а не стандарт. Інші програми — Google Sheets, LibreOffice, бази даних, скрипти — не знають про sep= і зазвичай покажуть його як зайвий перший рядок або сприймуть як заголовок. Використовуй його для файлів, які відкриватимуть лише користувачі Excel.

Спосіб 4: Google Sheets, LibreOffice або регіональні налаштування

Google Sheets. Скористайся меню «Файл → Імпортувати» (в англійському інтерфейсі — File → Import) і завантаж CSV. У вікні імпорту є параметр типу роздільника: можна залишити автовизначення або вибрати роздільник самостійно, зокрема довільний символ.

LibreOffice Calc. Коли відкриваєш CSV, LibreOffice показує вікно імпорту тексту з прапорцями для коми, крапки з комою, табуляції та інших роздільників і з попереднім переглядом наживо. Програма безкоштовна для Windows, macOS і Linux.

Зміна роздільника списку у Windows. У регіональних налаштуваннях класичної «Панелі керування», серед додаткових параметрів, є поле роздільника елементів списку (List separator). Якщо поставити там кому, Excel відкриватиме файли з комами одразу подвійним клацанням. Але обережно: це загальносистемне налаштування, тож воно також змінює, як Excel розділяє аргументи функцій у формулах і як інші програми читають і записують CSV-файли. Якщо ти обмінюєшся файлами з колегами у своїй країні, вони почнуть отримувати від тебе коми. Для більшості людей способи імпорту, описані вище, безпечніші.

Часті запитання

Чому той самий CSV нормально відкривається на комп’ютері колеги?

У його регіональних налаштуваннях інший роздільник списку. Excel використовує це налаштування, коли ти двічі клацаєш CSV, тож той самий файл на одному комп’ютері відкривається правильно, а на іншому опиняється в одному стовпці.

Зберігати CSV-файли з комами чи з крапками з комою?

Залежить від того, хто їх відкриватиме. Для інших програм, скриптів і закордонних колег звичний стандарт — коми. Користувачам Excel у країнах із десятковою комою файли з крапкою з комою відкриваються одразу. Якщо можеш — спитай одержувача.

Чому в деяких рядках однаково неправильна кількість стовпців?

Зазвичай тому, що значення містить сам роздільник — наприклад, назва компанії з комою, яку не взяли в лапки. Переглядачі та засоби імпорту, що дотримуються правил лапок CSV, обробляють значення в лапках; значення без лапок доведеться виправляти в джерелі.

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

Так. Переглядач CSV автоматично визначає коми, крапки з комою, табуляції й вертикальні риски та відкриває файли .csv, .tsv і .txt.