Import danych: Access i Excel – jak wykonać prawidłowy import liczb, dat oraz numerów PESEL?

W zadaniach maturalnych konieczne jest importowanie danych z plików tekstowych do programów Microsoft Access lub Excel. Poniższy tekst przedstawia krok po kroku, w jaki sposób należy przeprowadzić poprawny import danych.

Jak importować dane do Accessa?

Importowanie danych w Accessie to najważniejsza część zadania – jeśli źle pobierzemy dane, prawdopodobnie wszystkie wyniki będą złe. Dlatego przed podejściem do egzaminu maturalnego warto zapoznać się z przebiegiem procesu importu.

Standardowe importowanie danych

Opcja importowania danych znajduje się w zakładce Dane zewnętrzne na wstążce programu Microsoft Access. Po wejściu w tę zakładkę należy wybrać Nowe źródło danych / Z pliku. Na maturze dane są podane w formacie .txt, dlatego zazwyczaj wybieramy opcję plik tekstowy. Czasem jednak – np. gdy nie wiemy, jak rozwiązać dany podpunkt w Excelu, ale wiemy, jak to zrobić w Accessie – istnieje potrzeba importu danych z Excela, wtedy klikamy opcję Excel.

Poniżej przedstawiono, jak zaimportować dane na podstawie pliku gry.txt (zadanie 7 – arkusz maturalny 2023 – maj).

Import danych access 1
Opcja importu danych znajduje się w łatwo dostępnym miejscu na wstążce programu.

Po wybraniu opcji importu danych pojawi się okno, gdzie należy manualnie wpisać ścieżkę do pliku, lub kliknąć opcję Przeglądaj i wybrać plik w eksploratorze. W moim przypadku ścieżka to C:\Users\uzytkownik\Downloads\gry.txt. Po wybraniu odpowiedniego pliku należy kliknąć OK – wówczas przechodzi się do następnej części procesu importowania.

Import danych access 2
Jak wynika z opisu, importowane dane pobierane są do pliku Microsoft Access, dzięki czemu można je łatwo modyfikować. Z kolei druga opcja łączy plik z zewnętrznym źródłem danych, co uniemożliwia ich edycję.

Na formatowanie, odstępy i podobne kwestie należy także uważać w przypadku programu Microsoft Excel. Gdy jednak zapamiętasz, na co zwracać uwagę w przypadku Accessa, poradzisz sobie również z Excelem.

Import danych access 3
W większości przypadków najlepszym wyborem, jeśli chodzi o format danych, jest opcja Ograniczony.

Kolejnym etapem importu danych jest wybór rodzajów odstępów między kolumnami. W tym zadaniu odstępami są tabulatory, dlatego odpowiednia jest opcja 1 – Ograniczony. Po jej wybraniu należy kliknąć Dalej.

Import danych access 4
W Accessie można wybrać kilka rodzajów ograniczników oddzielających pola z danymi.

Kolejny etap to wybór odpowiedniego odstępu między polami i decyzja, czy pierwszy wiersz ma zawierać nazwy kolumn. Wybieramy tu Tabulator oraz opcję Pierwszy wiersz zawiera nazwy pól i przechodzimy dalej.

Import danych access 5
Wybór odpowiedniego typu danych jest kluczowy.

Następny etap to wybór typu danych w odpowiednich kolumnach. Musimy tu zweryfikować, czy Access wybrał odpowiedni typ dla każdej kolumny. Dla kolumny id_gry będzie to typ liczby całkowitej. Gdy sprawdzisz, czy opcja ta została wybrana poprawnie, przejdź dalej. Nie zmieniaj typu z długiego na krótki – to nie ma znaczenia, a przy takiej zamianie można coś zepsuć. Przykładowo dla kolumn nazwa oraz kategoria Access wybiera typ Krótki tekst, jednak gdyby wybrał inny rodzaj (np. Długi tekst), nie zmieniałbym tego.

Access z reguły dobiera dobre typy danych, jednak istnieją dwa szczególne przypadki, w których prawie zawsze się myli – są to Data i godzina (trzeba tu samemu ustawić odpowiedni format) oraz numery PESEL. W przypadku numeru PESEL Access ustawia format liczbowy, jednak nie powinien tego robić, ponieważ ten format obcina 0 na początku, a w numerach tego typu ma ono duże znaczenie. Dlatego należy tu użyć np. Krótki tekst.

Import danych access 3
Ze względu na relacje pomiędzy tabelami istotne jest dobranie odpowiedniego klucza podstawowego.

Na tym etapie musisz zdecydować, czy Access ma dodać klucz podstawowy, czy też jest on już obecny w twojej tabeli. W przypadku pliku gry.txt idealnym kandydatem na id jest pole id_gry, ponieważ jest ono dla każdego pola unikatowe. W tego typu zadaniach indeks nie zawsze musi być taki oczywisty, czasem może to być np. numer PESEL.

Gdy nie wiesz, co w twojej tabeli może być kluczem podstawowym, zobacz, czy w innej tabeli nie występuje kolumna taka sama jak w tej, na której teraz pracujesz. Jeśli to pole jest unikatowe dla każdego wiersza, to jest bardzo prawdopodobne, że to właśnie twój klucz.

W zadaniach maturalnych klucz jest podany już w pliku .txt, właśnie w postaci id_[tekst] czy numeru PESEL, jednak oczywiście są od tego wyjątki. Warto zauważyć, że można zrobić tabelę bez klucza podstawowego, jednak nie jest to rekomendowane, gdyż nazwy lub inne pola mogą być takie same i bez klucza wyniki będą niepoprawne.

Import danych access 7
To już praktycznie koniec importu danych.

W ostatniej sekcji należy wybrać nazwę tabeli. Najlepiej, żeby była to po prostu nazwa pliku, z którego importujesz dane. Potem kliknij Zakończ.

Import danych access 12
Kroki importowania okazują się przydatne w sytuacji, gdy regularnie importuje się dane z plików tekstowych o tym samym podziale na kolumny.

To jest ostatni etap importowania, należy kliknąć Zamknij.

ads banner

W tym zadaniu jest też plik oceny.txt – jego import jest bardzo podobny do pliku gry.txt, jednak warto pozwolić Accessowi dodać klucz podstawowy, ponieważ nie znajduje się on w pliku.

Import danych access 6
Dodanie klucza podstawowego przez program jest w pełni zautomatyzowane, wystarczy wybrać odpowiednią opcję.

Teraz sam spróbuj zaimportować plik gracze.txt, również z tego zadania. Dane do importu znajdziesz tutaj.

Import danych access 4
Relacje, podobnie jak opcja importu danych, znajdują się na wstążce.

Gdy udało Ci się już zaimportować wszystkie tabele, następnie – tak jak w każdym zadaniu opartym na bazach danych – przed przejściem do jego rozwiązywania należy utworzyć relacje. Żeby to zrobić, należy przejść do zakładki Narzędzia bazy danych i wybrać opcję Relacje.

Import danych access 18
Możesz wybrać opcję Relacje ze wstążki lub kliknąć Dodaj tabele w zakładce Projekt relacji.

Po prawej stronie powinien otworzyć się panel z tabelami – należy kliknąć dwa razy lewym przyciskiem myszy (LPM) na każdą z nich.

Gdyby z jakiegoś powodu panel się nie pojawił, trzeba kliknąć przycisk Dodaj tabele z zakładki Projekt relacji na wstążce.

Gdy pojawią się już bloki odpowiadające naszym tabelom, trzeba połączyć ze sobą odpowiednie pola. W tym celu należy kliknąć lewym przyciskiem myszy (LPM) na wybrane pole i przeciągnąć je do odpowiadającego mu pola w innej tabeli.

Import danych access 14
Opcja Wymuszaj więzy integralności pomoże w zapewnieniu prawidłowo utworzonej relacji.

Po połączeniu pól otworzy się okienko, które poda opcje zmiany pól oraz typu relacji. Warto tu też zaznaczyć Wymuszaj więzy integralności – ta opcja sprawdzi, czy relacja została utworzona poprawnie. Gdy upewnisz się, że wszystko jest tak, jak chcesz, kliknij przycisk Utwórz.

W zadaniu poprawne relacje to połączenia kolumn:

  • Gracze.id_gracza – Oceny.id_gracza, 
  • Gry.id_gry – Oceny.id_gry. 

Powinno to wyglądać następująco:

Import danych access 17
Dzięki graficznemu przedstawieniu relacji możesz łatwo ocenić, czy są one stworzone prawidłowo.

Uwaga: żeby relacje zaczęły działać w kwerendach, należy je zapisać. W tym celu wystarczy zamknąć kartę Relacje – wówczas pojawi się komunikat z pytaniem, czy chcemy zapisać wprowadzone zmiany. Możemy też nacisnąć prawym przyciskiem myszy (PPM) na kartę Relacje i kliknąć odpowiednią opcję.

Importowanie danych – data i godzina

W Polsce zazwyczaj datę zapisujemy w postaci dzień.miesiąc.rok, jednak w różnych krajach używa się również innych formatów (np. w Stanach Zjednoczonych jest to zapis miesiąc.dzień.rok). Za międzynarodowy standard uznaje się format: rok-miesiąc-dzień. Access wspiera bardzo dużo formatów, jednak zazwyczaj wybiera on zły typ. Przykładowo w zadaniu 6 z matury z 2022 r. musimy zaimportować dane z pliku ewidencja.txt.

Import danych access 2
Zadanie 6 z matury 2022 r. wymaga zaimportowania danych z pliku ewidencja.txt.

Zobaczmy, jakie typy danych dobierze Access.

Import danych access 9
W Microsoft Access znajduje się około 13 możliwych do ustawienia typów danych.

Pozornie wszystko jest w porządku, jednak gdy zakończymy importowanie, pojawią się 2 tabele.

Import danych access 5
Import daty i godziny często z początku zwraca błędy.

Już po nazwie widać, że coś jest nie tak – Access wybrał zły format daty. W takiej sytuacji należy usunąć obie tabele i zaimportować plik jeszcze raz, tym razem wybierając odpowiedni format daty i godziny.

Import danych access 10
Opcja Zaawansowane… pomaga przy dostosowaniu typu danych.

Gdy dojdziemy do wyboru typów danych, musimy kliknąć kolumnę, której typ mamy zmienić, i wybrać odpowiedni typ (data oraz godzina). Następnie, zamiast przechodzić dalej, należy kliknąć przycisk Zaawansowane… w lewym dolnym rogu. Wyświetli się wówczas takie okno:

Import danych access 19
W ewidencji specyfikacji importu znajduje się wiele opcji, jednak dla nas najbardziej interesująca jest sekcja Daty, godziny i liczby.

Tutaj po kolei patrzymy, czy opcje w sekcji Daty, godziny i liczby są odpowiednie dla naszych danych. Zobaczmy:

  • Kolejność dat: DMR (Dzień Miesiąc Rok) – u nas jest rok-miesiąc-dzień, trzeba więc zmienić na RMD.
  • Ogranicznik daty: “.” – w danych między liczbami dat jest “-”, więc trzeba usunąć kropkę i wpisać łącznik (“-”).
  • Ogranicznik czasu: “:” – tutaj nie trzeba nic zmieniać, bo taki format jest stosowany w danych do tego zadania.
  • Rok czterocyfrowy – tutaj również pole bez zmian, bo rok o tym formacie umieszczony jest w naszym pliku.
  • Wiodące zera w datach – ta opcja teoretycznie powinna zostać włączona, jednak okazuje się, że Access – niezależnie od tego, czy zaznaczymy to pole, czy nie – sam wybiera odpowiedni format. Warto jednak zaznaczyć ją dla pewności (wiodące zero to takie, które dajemy przed liczbą i które nie zmienia jej wartości, przykładowo datę 22 maja 2024 możemy zapisać jako 22.05.2024 lub 22.5.2024. Chodzi tutaj o różnicę tego jednego zera).
  • Symbol dziesiętny – ta opcja dotyczy zapisu milisekund. Nie pojawiają się one w tym zadaniu i prawdopodobnie nigdy nie pojawią się na maturze.

Po zmianie wszystkich opcji okno powinno prezentować się tak jak poniżej.

Import danych access 8
Warto kilkukrotnie przećwiczyć sobie tego typu import danych.

Teraz powinniśmy przeprowadzić podobną operację na kolumnie Wyjscie, jednak okazuje się, że gdy dla danego pliku zmienimy format daty, to zostanie on zmieniony dla wszystkich kolumn. Dalej importujemy wszystko standardowo.

Po otwarciu naszej tabeli okazuje się jednak, że zamiast dat widać tylko #####.

Import danych access 11
Zarówno w Accessie, jak i Excelu nierzadko można trafić na znaki #####. Pojawiają się one nie tylko przy imporcie danych, ale także – i to najczęściej – przy wynikach obliczeń.

Czyżbyśmy niepoprawnie zaimportowali dane? Nic z tych rzeczy – po prostu nasze kolumny są za wąskie, żeby wyświetlić całą zawartość. Na przedstawionych w ten sposób danych można normalnie wykonywać operacje, jednak prezentuje się to nieszczególnie. Można jednak łatwo rozwiązać ten problem – w tym celu wystarczy rozszerzyć kolumnę, łapiąc za separator pionowy w wierszu z tytułami kolumn, po czym go przeciągnąć. Wtedy wszystko będzie normalnie się wyświetlać. CKE bardzo często daje niedomyślny dla Accessa format daty, dlatego warto nauczyć się i zapamiętać, jak poprawnie importować daty.

Importowanie danych – PESEL

Tak jak wcześniej wspomniano, Access domyślnie próbuje zaimportować numer PESEL jako liczby, jednak jest to błąd z dwóch powodów. Po pierwsze, jeśli ktoś urodził się w latach 2000-2009, wówczas liczba ta będzie się zaczynała od zera, a w konsekwencji, używając formatu liczbowego, wiodące zero zostanie ucięte. Na mieszance poprawnych i niepoprawnych numerów dużo trudniej będzie wykonywać różne operacje, ponieważ mogą one zakładać istnienie 11 cyfr.  Nie możemy wtedy skorzystać z funkcji Left() oraz Right(). Nie ma już gwarancji, że np. pierwsza cyfra odpowiada części roku, a funkcja Left(pesel,11) może zwrócić Null. Wtedy nasze obliczenia będą zwracały niepoprawne wyniki.

Drugim powodem, dla którego nie warto importować numeru PESEL jako liczby, jest to, że wartość liczbowa numeru często wychodzi poza dozwolony zakres formatu liczbowego w Accessie. Wtedy tworzą się dwie tabele, tak samo jak w przypadku złego formatu daty – jedna z pustym polem i druga zawierająca błędy importu. Dotyczy to wszystkich bardzo dużych liczb.

Warto przećwiczyć importowanie numerów PESEL, ponieważ często pojawiają się one na egzaminach.

Inne przypadki importowania liczb jako tekstu

Liczba, którą importujemy, wcale nie musi być duża, wystarczy, że są w niej zakodowane jakieś informacje. Spójrzmy na zadanie 20 ze zbioru CKE “Przykładowe zadania z rozwiązaniami”. Chodzi tutaj konkretnie o plik noclegi.txt.

Import danych access 21
Przykładowe zadanie pochodzące ze zbioru CKE.

Access spróbuje zaimportować Uslugi z tabeli Noclegi jako liczbę, jednak będzie to błąd z powodu możliwości wystąpienia wiodących zer. Teoretycznie można dzielić liczbę przez odpowiednią potęgę 10, zaokrąglać w dół i brać modulo 10, jednak jest to czasochłonne. Dodatkowo bardzo łatwo przy tym o pomyłkę. Poza tym liczby, które coś kodują, często wychodzą poza zakres formatu liczbowego, dlatego trzeba je zaimportować jako tekst.

Niekiedy CKE samo sprawia, że np. numery PESEL są importowane jako tekst – po prostu przed każdym numerem dodaje np. literę “p”. Nie zawsze jednak to robi, więc trzeba wiedzieć, jak radzić sobie z tym problemem.

Jak importować dane do Excela?

Microsoft Excel jest istotny, jeśli chodzi o zadania maturalne. W jego przypadku import danych jest uproszczony ze względu na brak konieczności stosowania relacji czy klucza podstawowego. Głównym problemem okazuje się więc dobór odpowiednich ograniczników rozdzielających pola, a także typu danych. Działa to prawie identycznie w ramach Accessa i Excela.

Sprawdzimy działanie importowania danych w programie Microsoft Excel na bazie pliku owoce.txt (zadanie 6 – arkusz maturalny 2023 – maj).

Przejdź do opcji dostępnej na wstążce programu Pobierz dane / Starsze kreatory / Z pliku tekstowego starsza wersja.

Import danych Excel 1
Microsoft Excel pozwala na import danych z rozmaitych plików, jednak nas interesuje przede wszystkim plik tekstowy, bo to właśnie on pojawia się na maturze.

Jeśli nie widzisz u siebie opcji Starsze kreatory, to być może twoja wersja Excela jest tak stara, że jest to domyślna opcja importu plików txt. Wtedy wystarczy wybrać Z pliku / Z pliku tekstowego. Jeżeli natomiast posiadasz w miarę nową wersję Excela, trzeba tę możliwość włączyć w opcjach. Na wstążce wybieramy wówczas Plik / Więcej / Opcje.

Import danych Excel 2
Należy wybrać Plik / Więcej / Opcje.

W Opcjach w sekcji Dane zaznacz pole Z pliku tekstowego (starsza wersja) i kliknij OK.

Import danych Excel 3
Zaznacz Z pliku tekstowego (starsza wersja).

Teraz przy imporcie, opcja Starsze kreatory powinna być już dostępna.

Gdy już uda ci się wybrać odpowiednią opcję, otworzy się okno, w którym musisz wybrać właściwy plik i kliknąć Otwórz.

Import danych Excel 4
W przypadku standardowych separatorów jak np. tabulator, wybierz pierwszą opcję czyli rozdzielany.

Na początek trzeba wybrać odpowiedni typ separatora, który dzieli kolumny w pliku. W przypadku tego zadania jest to tabulator, więc odpowiednia jest tu pierwsza opcja: Rozdzielany. Jeśli twój plik posiada niestandardowe kodowanie, należy to zmienić w sekcji Pochodzenie pliku. Tego, jakie kodowanie ma twój plik, możesz dowiedzieć się, np. otwierając go w notatniku.

Import danych Excel 5
Wybierz odpowiedni ogranicznik, w tym przypadku tabulator.

Następnie należy dobrać odpowiedni ogranicznik między poszczególnymi kolumnami w dokumencie. Excel zazwyczaj sam dobrze określa, jaki ogranicznik powinien być użyty, jednak warto zwrócić na to uwagę.

Podobnie jest w kwestii samych wartości w polach: jeśli są podane nazwy w języku polskim, ale nie działają prawidłowo, to najpewniej jest to kwestia złego ustawienia w polu Pochodzenie pliku, który należy odpowiednio dopasować.

Teraz trzeba kliknąć przycisk Dalej.

Na koniec wybieramy typ danych dla każdej kolumny. Generalnie zawsze wybieramy typ ogólny (i tak można go potem zmienić). Jednak tak samo jak w Accessie: gdy importujemy numer PESEL czy inny kod, który może zaczynać się zerem, musimy wybrać dla takiej kolumny typ Tekst. Następnie klikamy Zakończ.

Import danych Excel 6
Standardowo wybiera się typ ogólny, jednak w przypadku numerów takich jak PESEL (z możliwym zerem na początku) należy zaznaczyć tekst.

W tym momencie powinno pokazać się okno, które ma opcję zmiany lokalizacji importowanych danych. Jeśli nie odpowiada ci domyślna lokalizacja, tutaj możesz to zmienić.

Import danych Excel 7
Możesz zaznaczyć tu konkretne miejsce do wstawienia danych.

Jest to szczególnie istotne, jeśli chodzi o numery PESEL, które należy wstawić jako typ Tekst, a nie liczbę (w razie gdyby Excel źle to odczytał). Okazuje się to ważne w przypadku numerów, które zaczynają się od zera. Ten znak zniknie, jeśli PESEL zostanie wstawiony jako liczba dziesiętna, a nie tekst. Działa to więc podobnie jak w programie Microsoft Access.

Import danych Excel 8
Jak widać, Excel pozwala na wybranie jednego z 12 typów danych.

Gdy już wybrano odpowiedni typ danych lub wprowadzono inne modyfikacje, należy tylko kliknąć przycisk Zamknij i załaduj, dostępny na wstążce w zakładce Narzędzia główne.

Teraz w arkuszu kalkulacyjnym pojawi się tabela z pobranymi danymi. Import danych do Excela nie jest więc trudny.

Import danych Excel 10
Po wykonanym imporcie pojawia się tabela, dzięki której można sprawnie wykonywać dalsze zadania z arkusza maturalnego.

Teraz sam spróbuj zaimportować plik owoce.txt. Dane do importu znajdziesz tutaj.

ads banner

Wpisy, które mogą Cię zainteresować: