Spis treści
CSV nie otwiera się poprawnie w Excelu? Samouczek bada typowe problemy i podaje najskuteczniejsze rozwiązania.
Format CSV jest powszechnie używany do importu/eksportu danych pomiędzy różnymi programami arkuszy kalkulacyjnych. Nazwa CSV (comma separated values) sugeruje użycie przecinka do oddzielenia pól danych, ale tak jest w teorii. W praktyce wiele tzw. plików CSV oddziela dane za pomocą innych znaków, takich jak średnik czy tabulator. Niektóre implementacje ujmują pola danych w pojedynczy lub podwójny cudzysłów, natomiastinne wymagają znaku kolejności bajtów (BOM) Unicode, na przykład UTF-8, do poprawnej interpretacji Unicode. Brak standardu rodzi różne problemy z konwersją CSV do Excela.
Plik CSV otwiera się w jednej kolumnie w programie Excel
Symptomy Podczas otwierania pliku csv w programie Excel wszystkie dane pojawiają się w jednej kolumnie.
Przyczyna Aby podzielić dane w kolumnach, Excel używa separatora listy ustawionego w ustawieniach regionalnych systemu Windows. Może to być przecinek (w Ameryce Północnej i niektórych innych krajach) lub średnik (w krajach europejskich). Gdy separator użyty w danym pliku .csv różni się od domyślnego separatora, plik ten otwiera się w jednej kolumnie.
Rozwiązania Istnieje kilka możliwych rozwiązań dla tego przypadku, w tym makra VBA lub globalna zmiana ustawień systemu Windows. Pokażemy, jak szybko naprawić problem bez zmiany domyślnego separatora listy na komputerze, więc żadna z twoich aplikacji nie zostanie dotknięta.
Zmiana delimitera w pliku CSV
Aby Excel mógł czytać CSV z innym separatorem, możesz zdefiniować delimiter bezpośrednio w tym pliku. Aby to zrobić, otwórz plik za pomocą dowolnego edytora tekstu (Notatnik zrobi dobrze) i dodaj poniższy tekst w pierwszej linii. Uwaga, powinien to być oddzielny wiersz przed innymi danymi:
- Aby oddzielić przecinkiem: sep=,
- Aby oddzielić średnikiem: sep=;
W ten sam sposób można ustawić dowolny inny separator niestandardowy - wystarczy wpisać go po znaku równości.
Mając zdefiniowany odpowiedni separator, można teraz otworzyć plik w zwykły sposób, z samego Excela lub z Eksploratora Windows.
Określanie separatora podczas importowania pliku CSV do programu Excel
Zamiast otwierać plik csv w Excelu, zaimportuj go za pomocą Kreatora importu tekstu (we wszystkich wersjach) lub Power Query (w Excelu 365 - 2016).
Kreator importu tekstu ( Dane tab> Z Tekstu ) daje kilka możliwości wyboru delimiterów w kroku 2. Ogólnie rzecz biorąc, wybrałbyś:
- Przecinek dla plików z wartościami rozdzielonymi przecinkami
- Zakładka dla plików tekstowych
- Średnik dla plików wartości oddzielonych średnikami
Jeśli nie jesteś pewien, jaki separator zawierają Twoje dane, wypróbuj różne delimitery i zobacz, który z nich działa poprawnie w podglądzie danych.
Podczas tworzenia połączenia Power Query można wybrać delimiter w oknie dialogowym Podgląd:
Szczegółowa instrukcja krok po kroku znajduje się w podlinkowanych wyżej przykładach.
Podziel komórki za pomocą funkcji Tekst na kolumny
W przypadku, gdy Twoje dane są już przeniesione do Excela, możesz rozdzielić je na różne kolumny za pomocą Tekst w kolumnach Zasadniczo działa to tak jak Kreator importu tekstu: wybierasz separator i Podgląd danych odzwierciedla zmiany w locie:
Pełne informacje na ten temat znajdziesz w rozdziale Jak dzielić komórki w programie Excel.
Jak zachować wiodące zera w pliku CSV programu Excel
Symptomy. Niektóre wartości w Twoim pliku csv zawierają wiodące zera. Kiedy plik jest otwierany w Excelu, poprzedzające zera są tracone.
Przyczyna Domyślnie program Microsoft Excel konwertuje pliki csv na Ogólne format, w którym pominięto wiodące zera.
Rozwiązanie Zamiast otwierać, zaimportuj swój CSV do programu Excel i wybierz Tekst format dla problematycznych kolumn.
Korzystanie z kreatora importu tekstu
Aby rozpocząć Kreator importu tekstu automatycznie, zmień rozszerzenie pliku z .csv na .txt, a następnie otwórz plik tekstowy z Excela. Albo włącz funkcję Z tekstu (Legacy) i zacznij importować CSV do Excela.
W kroku 3 kreatora należy wybrać kolumnę zawierającą wartości z zerami wiodącymi i zmienić jej format na Tekst Spowoduje to zaimportowanie wartości jako ciągów tekstowych z zachowaniem wszystkich zer wiodących.
Używanie Power Query
Jeśli wolisz importować plik csv do programu Excel, łącząc się z nim, istnieją dwa sposoby na zachowanie wiodących zer.
Metoda 1: Importuj wszystkie dane w formacie tekstowym
W oknie dialogowym podglądu, pod Wykrywanie typu danych , wybierać Nie wykrywa typów danych Zawartość twojego pliku csv zostanie załadowana do Excela jako tekst, a wszystkie wiodące zera zostaną zachowane.
Uwaga. Ta metoda działa dobrze, jeśli twój plik zawiera tylko tekst Dane. Jeżeli istnieją różne rodzaje wartości, to należy zastosować metodę 2, aby określić odpowiedni format dla każdej kolumny z osobna.
Metoda 2: Ustaw format dla każdej kolumny
W sytuacji, gdy Twój plik csv zawiera różne typy danych, takie jak tekst, liczby, waluty, daty i czasy, możesz wyraźnie wskazać, który format powinien być używany dla poszczególnych kolumn.
- Pod podglądem danych kliknij Przekształcanie danych .
- W edytorze zapytań Power Query wybierz kolumnę, w której chcesz zachować poprzedzające zera i kliknij Typ danych > Tekst .
- Close & Load - spowoduje to załadowanie wyników do nowego arkusza w bieżącym skoroszycie.
- Close & Load Do... - pozwoli Ci zdecydować, gdzie mają być załadowane wyniki.
Wskazówka.Metody te mogą również zapobiec innym manipulacjom z danymi, które Excel próbuje wykonać automatycznie.Na przykład, jeśli importowane dane zaczynają się od "=", Excel będzie próbował je obliczyć.Stosując Tekst format, wskazujesz, że wartości są ciągami, a nie formułami.
Jak naprawić problemy z formatem daty CSV w programie Excel
Symptomy. Po konwersji CSV do Excela daty są sformatowane nieprawidłowo, dni i miesiące są zamieniane, niektóre daty są zmieniane na tekst, a niektóre wartości tekstowe są automatycznie formatowane jako daty.
Przyczyna W pliku csv daty są zapisane w formacie innym niż domyślny format daty ustawiony w systemie operacyjnym, z powodu którego Excel nie interpretuje poprawnie dat.
Rozwiązanie W zależności od tego, z jakim problemem masz do czynienia, wypróbuj jedno z poniższych rozwiązań.
Dni i miesiące są pomieszane
Gdy formaty daty w ustawieniach regionalnych systemu Windows i pliku csv są różne, nie ma sposobu, aby Excel ustalił, że mm/dd/rr daty, których szuka, są przechowywane w dd/mm/rr W rezultacie jednostki dnia i miesiąca są odwrócone: styczeń-3 staje się Mar-1 , styczeń-10 staje się Okt-1 i tak dalej. Ponadto daty po styczeń-12 są zamieniane na ciągi tekstowe, ponieważ nie istnieją miesiące 13-te, 14-te itd.
Aby daty zostały poprawnie zaimportowane, należy uruchomić Kreator importu tekstu i wybrać odpowiedni Data format w kroku 3:
Niektóre wartości są konwertowane na daty
Microsoft Excel został zaprojektowany tak, aby ułatwić wprowadzanie różnego rodzaju wartości. Dlatego też, jeśli Excel uważa, że dana wartość reprezentuje datę, jest ona automatycznie formatowana jako data. Na przykład ciąg tekstowy apr23 wygląda bardzo podobnie do 23 kwietnia oraz 11/3 przypomina 3 listopada , więc obie wartości są konwertowane na daty.
Aby powstrzymać Excela przed zamianą wartości tekstowych na daty, należy zastosować znane już podejście: przekonwertować CSV do Excela, importując go.W kroku 3. Kreator importu tekstu , wybierz problematyczną kolumnę i zmień jej format na Tekst .
Daty są sformatowane niepoprawnie
Kiedy plik csv jest otwierany w programie Excel, daty są zwykle wyświetlane w formacie domyślnym. Na przykład w oryginalnym pliku możesz mieć 7-maj-21 lub 05/07/21 , natomiast w Excelu pojawia się jako. 5/7/2021 .
Aby wyświetlić daty w żądanym formacie, skorzystaj z funkcji Formatuj komórki funkcja:
- Wybierz kolumnę dat.
- Naciśnij Ctrl + 1, aby otworzyć Formatuj komórki okno dialogowe.
- Na Numer zakładka, wybierz Data pod adresem Kategoria .
- Pod adresem Typ , wybierz żądane formatowanie.
- Kliknij przycisk OK.
Jeśli żaden z predefiniowanych formatów nie jest dla Ciebie odpowiedni, możesz stworzyć swój własny, jak wyjaśniono w Jak zrobić niestandardowy format daty w Excelu.
Uniemożliwienie Excelowi konwersji liczb na notację naukową
Symptomy. Po konwersji CSV do Excela długie liczby są formatowane jako notacja naukowa, np. 1234578900 pojawia się jako 1.23E+09.
Przyczyna W programie Microsoft Excel liczby są ograniczone do 15 cyfr precyzji. Jeśli liczby w pliku csv przekraczają ten limit, program Excel automatycznie konwertuje je na notację naukową w celu dostosowania do tego limitu. Jeśli liczba zawiera więcej niż 15 cyfr znaczących, wszystkie "dodatkowe" cyfry na końcu są zamieniane na zera.
Rozwiązanie Importuj długie liczby jako tekst lub zmień format liczby bezpośrednio w programie Excel.
Importuj długie liczby jako tekst
Aby dokładnie przenieść duże liczby z CSV do Excela, uruchom Kreator importu tekstu i ustawić format docelowej kolumny (kolumn) na Tekst .
Jest to jedyne realne rozwiązanie pozwalające na dokładny import ciągi liczbowe bez utraty danych, tj. bez zastępowania 16. i kolejnych cyfr cyframi 0 lub usuwania zer wiodących. Działa to świetnie w przypadku wpisów takich jak identyfikatory produktów, numery kont, kody kreskowe i tym podobne.
Jeśli jednak twoje wartości są liczbami, a nie ciągami, nie jest to najlepsza metoda, ponieważ nie będziesz w stanie wykonać żadnej matematyki na wynikowych wartościach tekstowych.
Ta metoda pomoże Ci również zapobiec innym niepożądanym automatycznym formatowaniu danych podczas konwersji pliku CSV.
Zmiana formatu liczb w programie Excel
Jeśli Twoje dane są już w Excelu, możesz zmienić format z Ogólne do Tekst lub Numer jak pokazano poniżej:
Uwaga. Ta metoda nie przywróci usuniętych poprzedzających zer lub cyfr po 15 pozycji, które zostały zastąpione zerami.
Więcej informacji znajdziesz w rozdziale Jak formatować komórki w programie Excel.
Spraw, by kolumna była szersza
W najprostszym przypadku, gdy liczba zawiera mniej niż 15 cyfr, wystarczy nieco poszerzyć kolumnę, aby liczby były wyświetlane normalnie.
Więcej szczegółów znajdziesz w rozdziale Jak zmienić rozmiar i auto dopasować kolumny w Excelu.
Oto jak naprawić najczęstsze problemy, które mogą wystąpić przy konwersji CSV do Excela. Dziękuję za przeczytanie i do zobaczenia za tydzień!