PORADY

Porady > Oprogramowanie > MS Office > Jak poradzić sobie z problemami i błędami podczas importu plików CSV do Excela

Jak poradzić sobie z problemami i błędami podczas importu plików CSV do Excela

Format plików CSV wykorzystywany jest bardzo szeroko w Internecie. Służy on głównie do przekazywania informacji tabelarycznych i bazodanowych. Potrafią importować go praktycznie wszystkie arkusze kalkulacyjne, a nawet wspierane są przez niektóre silniki baz danych. Plik ma format tekstowy, co czyni go niezwykle łatwym w odczycie i tworzeniu przez różne programy. Najczęściej mamy do czynienia z zapisem, gdzie każda linijka odzwierciedla jeden rekord (wiersz) tabeli, a poszczególne kolumny oddzielone są znakami średnika (a ściślej, w odniesieniu do plików CSV Excel stosuje Separator listy, który można ustawić w Panelu sterowania / Ustawienia regionalne i jezykowe).

Niestety taka uniwersalność sprawia także problemy podczas importu do arkuszy kalkulacyjnych. Ponieważ format ten w żaden sposób nie opisuje formatu danych, arkusze kalkulacyjne próbują wywnioskować ten format na podstawie zawartości. Niestety często robią to nieudolnie, a czasem odczytywane są tylko całe linijki i wrzucane do jednej kolumny w całości.

Excel źle interpretuje plik CSV, przez co dane są zupełnie nieczytelne i nieprzydatne

Nie pomoże ani przeciąganie pliku na okno Excela, ani otwieranie przez podwójne kliknięcie, ani korzystanie z opcji „Otwórz” i eksperymentowanie z formatami. Nie pomaga także otwarcie pliku np. w Notatniku i próba wklejenia go do arkusza. Jak więc sobie poradzić w takiej sytuacji?

Okazuje się, że sprawa jest dość prosta, a program Excel ma bardzo pogada opcje dotyczące importowania plików tekstowych. W jaki sposób więc z nich skorzystać?

  1. Po pierwsze bezwzględnie należy zmienić rozszerzenie pliku na .txt. Niestety arkusz Excel, widząc inne rozszerzenie, będzie próbował samodzielnie odczytać plik, do czego nie chcemy dopuścić.
  2. Drugim koniecznym krokiem jest skorzystanie z funkcji Otwórz z menu programu (lub z paska narzędzi). Niestety nie da nic próba przeciągnięcia pliku na okno programu. W okienku wskazujemy pliki tekstowe i znajdujemy ten, któremu zmieniliśmy przed chwilą nazwę.
    Poprawne importowanie danych z pliku tekstowego
  3. Po otwarciu pliku pokazane zostanie okienko z opcjami dotyczącymi pliku. Okno to składa się z kilku części a konfiguracja formatu pliku odbywa się na zasadzie kreatora.
    Zaawansowane importowanie plików CSV - okno opcji importu
  4. W pierwszej części określamy przede wszystkim separator kolumn (czy plik posiada separatory, czy może każda z kolumn ma stałą szerokość) oraz kodowanie znaków. Jeśli nie wiemy, jakie kodowanie zostało użyte, nie ma problemu – możemy wskazywać kolejne elementy na liście, a podgląd widać na bieżąco w dolnej części okna. Na koniec możemy także nakazać zignorowanie pierwszych wierszy, które nie są dla nas istotne. Po skonfigurowaniu dla przykładowego pliku okno będzie wyglądać następująco:
    Zaawansowane importowanie plików CSV - krok 1: wybór typu i kodowania danych źródłowych

    Po wybraniu wszystkich opcji można przejść do kolejnej części klikając przycisk Dalej.
  5. Teraz przyszedł czas na bardziej precyzyjne określanie, jak plik ma być podzielony na kolumny. Po pierwsze należy wybrać separator kolumn (o ile nasz plik nie jest o stałej szerokości kolumn). W przykładowym pliku domyślną tabulację należy zamienić na średniki. Warto zwrócić uwagę, że rolę separatora może spełniać kilka znaków równocześnie. Może nim być także dowolny podany przez nas znak. Zmiany jak zwykle na bieżąco widoczne są w oknie podglądu. Warto w tym miejscu wspomnieć o opcji Kolejne ograniczniki traktuj jako jeden. Zaznaczenie tego pola spowoduje, że jeśli obok siebie wystąpi kilka separatorów kolumn, to wówczas Excel nie będzie rozdzielał rekordu na tyle kolumn, ile wynika z ilości ograniczników, lecz utworzy tylko jedną kolumnę. Ta opcja miałaby zastosowanie np., gdyby kolumny były uzupełnione różną ilością znaków tabulacji tak, aby w podglądzie tekstowym dane kolumny znajdywały się jedna pod drugą.
    Dostępna jest jeszcze jedna opcja – Kwalifikator tekstu. Jest to znak, który informuje, że jeśli pomiędzy jego pierwszym a drugim wystąpieniem pojawi się ogranicznik kolumny, to należy go zignorować, gdyż jest to część jednej kolumny tekstowej. Również w tym polu możemy wpisać dowolny znak, jednocześnie który nie zostanie wyświetlony po zaimportowaniu. Taki znacznik tekstu może wystąpić tylko na początku i końcu jakiejś kolumny, ale również może go nie być wcale.
    Po wybraniu poprawnych opcji, okno podglądu powinno przyjąć taką formę, jak na rysunku:
    Zaawansowane importowanie plików CSV - krok 2: określenie separatora kolumn i kwalifikatora tekstu
  6. W ostatnim kroku kreatora należy zająć się określeniem zawartości poszczególnych kolumn. Warto na początku skorzystać z opcji Zaawansowane i ustawić poprawny separator tysięcy i dziesiętny. Domyślnie separatory brane są z ustawień systemu Windows. Jeśli jednak mamy do czynienia z plikiem zapisanym innym systemem (w przykładzie zastosowany jest amerykański zapis liczb, gdzie separatorem tysięcznym jest kropka), opcje należy dostosować właśnie tutaj. W przeciwnym razie, liczby które zawierają kropkę, zostałyby potraktowane jak zwykły tekst. Warto więc skorzystać z podglądu i dokonać ustawień. Przy okazji, jeśli plik zawiera ujemne wartości liczbowe, warto także zwrócić uwagę, czy znak minus zapisany jest przed liczbą, czy za nią (notacja księgowa) i dla pierwszego przypadku odznaczyć opcję Znak minus na końcu liczb ujemnych.
    Zaawansowane importowanie plików CSV - krok 3: zaawansowane ustawienia separatorów liczb i formatu liczb ujemnych
  7. Ostatnim krokiem jest przypisanie poszczególnym kolumnom ich formatu. W tym celu należy kliknąć na żądaną kolumnę (zostanie podświetlona na czarno), a następnie określić jej format poprzez wybranie właściwej opcji z ramki Format danych w kolumnie. Format Ogólny stosujemy dla wszystkich pól liczbowych, procentowych itp. Wybranie formatu Tekst spowoduje, że nawet jeśli komórka zawierać będzie liczby, to i tak jej zawartość zostanie potraktowana jak tekst. Ma to szczególne znaczenie w przypadku np. bardzo długich ciągów cyfr, gdzie konwersja na liczbę spowodowałaby utracenie części informacji. W przypadku kolumn zawierających datę można też wybrać w jakim formacie jest ona zapisana (kolejność zapisu dnia, miesiąca i roku). W prezentowanym przykładzie jest to zapis amerykański, czyli rok/dzień/miesiąc. Dostępne są wszystkie kombinacje tych trzech pól, a jakakolwiek wartość niecyfrowa potraktowana zostanie jak separator. Kolumna zostanie wyświetlona jako data, o ile oczywiście zapis będzie poprawny i zgodny z określonym.
    Możliwe jest także pominięcie podczas importu wybranych kolumn. Wybór widoczny jest poprzez opis w nagłówku kolumn w oknie importu.
    Zaawansowane importowanie plików CSV - krok 3: wybór typu danych w poszczególnych kolumnach
  8. Po kliknięciu przycisku Zakończ plik zostanie wczytany do arkusza dokładnie tak, jak chcieliśmy. Pozostaje na koniec tylko bardziej precyzyjne określenie sposobu wyświetlania czy formatowania komórek. Tak zaimportowany plik można będzie już śmiało zapisać w formacie programu, gdzie nie utracimy zaawansowanych opcji dotyczących sposobu wyświetlania.
    Plik CSV poprawnie zaimportowany z wykorzystaniem okna opcji importu danych z plików tekstowych
Informacje o poradzie
Powiązane linki:Wróć
[Komentarze] | Share Podziel się
Poradę czytano:17 557 razy
Ocena porady:
5,11 (9 oceniających)
(Kliknij właściwą gwiazdkę, by oddać głos)

Uwaga! Wszystkie porady na tej stronie są mojego autorstwa i objęte są prawami autorskimi! Kopiowanie, publikowanie lub cytowanie całego tekstu bez wiedzy autora - ZABRONIONE! [Dowiedz się więcej o prawach autorskich]

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2017 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 22.09.2014 11:28
Wszystkie czasy dla strefy czasowej: Europe/Warsaw