CSV відкривається в Excel в один стовпець? Чому так і як виправити
Коли 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 це налаштування залежить від регіону: на комп’ютері, налаштованому на країну з десятковою комою, роздільником списку зазвичай є крапка з комою, а на комп’ютері з регіоном США чи Велика Британія — кома.
Тож конфлікт буває в обидва боки:
- Колега зі США надсилає вивантаження з комами; твій Excel з українськими регіональними налаштуваннями чекає крапок із комою й залишає кожен рядок цілим у стовпці A.
- Твоя бухгалтерська програма записує крапки з комою; колега у Великій Британії відкриває файл і бачить
Дата;Клієнт;Сумав одній клітинці.
Те саме стосується вивантажень із вебсервісів, інтернет-магазинів і 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:
- Виділи стовпець A.
- На вкладці «Дані» (Data) вибери Text to Columns.
- Вибери Delimited (тобто «з роздільниками»), а потім познач роздільник, який використовує файл (наприклад, крапку з комою або кому).
- Заверши роботу майстра.
В обох способах варто стежити за одним — форматами чисел. Файл із 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.