CSV otwiera się w jednej kolumnie w Excelu? Przyczyna i rozwiązanie
Gdy CSV otwiera się z całą zawartością wciśniętą w kolumnę A, plik używa innego separatora niż ten, którego oczekuje Excel — zwykle przecinków w pliku otwartym na komputerze ustawionym na średniki albo odwrotnie. Z danymi wszystko jest w porządku. Otwórz plik narzędziem, które samo wykrywa separator, takim jak Przeglądarka CSV, albo wskaż Excelowi separator za pomocą importu lub funkcji „Tekst jako kolumny”.
Przecinki, średniki i przecinek dziesiętny
„CSV” to skrót od comma-separated values, czyli wartości rozdzielane przecinkami, ale w praktyce separatorem jest to, co wybrał program, który zapisał plik. Oto ten sam wiersz zapisany na oba sposoby:
Data,Klient,Kwota
2024-03-15,Kowalski sp. z o.o.,1250.50
Data;Klient;Kwota
2024-03-15;Kowalski sp. z o.o.;1250,50
Powodem drugiej wersji jest separator dziesiętny. W dużej części Europy — w Polsce, Niemczech, Francji, we Włoszech, w Hiszpanii, Holandii, Ukrainie i wielu innych krajach — liczby zapisuje się z przecinkiem dziesiętnym: 1250,50. Gdyby przecinek rozdzielał też kolumny, 1250,50 rozpadłoby się na dwie komórki. Dlatego programy do arkuszy w tych regionach używają jako separatora kolumn średnika.
Żaden z tych formatów nie jest błędny. To po prostu dwie konwencje, a kłopoty zaczynają się, gdy plik zapisany według jednej otwiera program, który oczekuje drugiej. Więcej o samym formacie przeczytasz w poradniku czym jest plik CSV.
Dlaczego Excel wrzuca wszystko do kolumny A
Gdy klikasz dwukrotnie plik .csv, Excel nie analizuje go, żeby ustalić separator. Używa separatora listy z ustawień regionalnych systemu operacyjnego. W Windows to ustawienie zależy od regionu: komputer ustawiony na kraj z przecinkiem dziesiętnym ma zwykle średnik jako separator listy, a ustawiony na Stany Zjednoczone lub Wielką Brytanię — przecinek.
Konflikt działa więc w obie strony:
- Współpracownik z USA wysyła eksport rozdzielany przecinkami; Twój polski Excel oczekuje średników i zostawia każdy wiersz w całości w kolumnie A.
- Twój program księgowy zapisuje średniki; współpracownik z Wielkiej Brytanii otwiera plik i widzi
Data;Klient;Kwotaw jednej komórce.
To samo dotyczy eksportów z serwisów internetowych, sklepów online i systemów CRM. Wiele z nich zawsze zapisuje przecinki, niezależnie od tego, gdzie jesteś — dlatego użytkownicy w Europie trafiają na ten problem tak często. Pokrewny problem — litery zamieniające się w symbole w rodzaju é — dotyczy kodowania, a nie separatorów; zobacz poradnik o dziwnych znakach w pliku CSV.
Sposób 1: otwórz plik z automatycznym wykrywaniem separatora
Jeśli chcesz tylko przeczytać plik — sprawdzić zamówienie, znaleźć klienta, zobaczyć, co zawiera eksport — najszybciej zrobisz to w przeglądarce plików, która sama ustala separator.
Przeglądarka CSV w Opener analizuje plik i wykrywa, czy wartości rozdzielają przecinki, średniki, tabulatory czy pionowe kreski, a potem pokazuje porządną tabelę. Wykrywa też kodowanie tekstu (UTF-8, Windows-1251 lub Windows-1252) i obsługuje wartości w cudzysłowach, które zawierają separator, takie jak "Kowalski, Jan". Nie trzeba niczego ustawiać ani zakładać konta, a plik zostaje w Twojej przeglądarce — nigdy nie jest wysyłany. Wynik możesz przeszukiwać, sortować i eksportować do CSV lub JSON.
Sposób 2: użyj importu w Excelu lub funkcji „Tekst jako kolumny”
Aby pracować z danymi w Excelu, zamiast klikać plik dwukrotnie, wskaż programowi, jakiego separatora ma użyć.
Import z pliku tekstowego/CSV. Otwórz pusty skoroszyt, przejdź na kartę Dane i wybierz import z pliku tekstowego/CSV (w angielskiej wersji „From Text/CSV”). Excel pokaże podgląd z listą separatorów („Delimiter”); wybieraj przecinek albo średnik, aż kolumny będą wyglądać poprawnie, a potem załaduj dane. W tym samym podglądzie możesz ustawić kodowanie pliku, jeśli litery wyglądają na zniekształcone.
Tekst jako kolumny. Jeśli dane już leżą w kolumnie A:
- Zaznacz kolumnę A.
- Na karcie Dane wybierz Tekst jako kolumny.
- Wybierz Rozdzielany, a potem zaznacz separator używany w pliku (na przykład Średnik lub Przecinek).
- Dokończ pracę kreatora.
Przy obu metodach uważaj na jedno: formaty liczb. Plik z 1250.50 otwarty w systemie z przecinkiem dziesiętnym może odczytać kwotę jako tekst albo jako złą liczbę. Podgląd importu i ostatni krok kreatora „Tekst jako kolumny” pozwalają ustawić, jak interpretować kolumny — sprawdź kilka kwot, zanim zaufasz sumom.
Sposób 3: dodaj wiersz „sep=” dla Excela
Istnieje sztuczka działająca tylko w Excelu: dodaj na samej górze pliku wiersz, który wskazuje separator.
sep=;
Data;Klient;Kwota
2024-03-15;Kowalski sp. z o.o.;1250,50
Otwórz plik w zwykłym edytorze tekstu, dodaj sep=; (albo sep=, dla pliku z przecinkami) jako pierwszy wiersz, zapisz i ponownie kliknij plik dwukrotnie. Excel odczyta wskazówkę, użyje tego separatora i nie pokaże samego wiersza.
To obejście, a nie standard. Inne programy — Google Sheets, LibreOffice, bazy danych, skrypty — nie znają sep= i zwykle pokażą go jako dodatkowy pierwszy wiersz albo potraktują jako nagłówek. Stosuj to w plikach, które trafiają wyłącznie do użytkowników Excela.
Sposób 4: Google Sheets, LibreOffice lub ustawienia regionalne
Google Sheets. Użyj polecenia Plik → Importuj i prześlij plik CSV. Okno importu ma opcję typu separatora, w której możesz zostawić automatyczne wykrywanie albo samodzielnie wybrać separator, także dowolny inny znak.
LibreOffice Calc. Gdy otwierasz CSV, LibreOffice pokazuje okno importu tekstu z polami wyboru dla przecinka, średnika, tabulatora i innych separatorów oraz podglądem na żywo. Program jest darmowy na Windows, macOS i Linuksa.
Zmiana separatora listy w Windows. W ustawieniach regionu w klasycznym Panelu sterowania, wśród ustawień dodatkowych, jest pole Separator listy. Wpisanie w nim przecinka sprawi, że Excel będzie otwierał pliki rozdzielane przecinkami bezpośrednio po dwukrotnym kliknięciu. Rób to ostrożnie: to ustawienie całego systemu, więc zmienia też sposób, w jaki Excel rozdziela argumenty funkcji w formułach, oraz to, jak inne programy odczytują i zapisują pliki CSV. Jeśli wymieniasz pliki ze współpracownikami w Polsce, zaczną dostawać od Ciebie przecinki. Dla większości osób bezpieczniejsze są opisane wyżej metody importu.
Najczęstsze pytania
Dlaczego ten sam plik CSV otwiera się poprawnie na komputerze kolegi?
Jego ustawienia regionalne używają innego separatora listy. Excel korzysta z tego ustawienia, gdy klikasz CSV dwukrotnie, więc ten sam plik może otworzyć się poprawnie na jednym komputerze i wylądować w jednej kolumnie na innym.
Zapisywać pliki CSV z przecinkami czy ze średnikami?
To zależy od tego, kto je otworzy. Dla innych programów, skryptów i współpracowników z zagranicy domyślnym wyborem są przecinki. Użytkownikom Excela w krajach z przecinkiem dziesiętnym pliki ze średnikami otwierają się od razu. Jeśli możesz, zapytaj odbiorcę.
Dlaczego niektóre wiersze nadal mają złą liczbę kolumn?
Zwykle dlatego, że wartość zawiera sam separator, na przykład nazwa firmy z przecinkiem, której nie ujęto w cudzysłów. Przeglądarki plików i narzędzia importu zgodne z zasadami cudzysłowów w CSV obsługują wartości w cudzysłowach; te bez cudzysłowów trzeba poprawić u źródła.
Czy Przeglądarka CSV obsługuje pliki rozdzielane tabulatorami i pionowymi kreskami?
Tak. Przeglądarka CSV automatycznie wykrywa przecinki, średniki, tabulatory i pionowe kreski oraz otwiera pliki .csv, .tsv i .txt.