Jak czytać, pisać i analizować CSV w Python
- 2360
- 760
- Natan Cholewa
Czy kiedykolwiek musiałeś wymieniać informacje między programami, z wyjątkiem korzystania z zmiennych? Czy kiedykolwiek myślałeś lub poczułeś potrzebę posiadania pliku tekstowego do wymiany danych między programami? Czy wiesz o pomyśle przechowywania danych/informacji w pliku zewnętrznym, a następnie wyodrębniania ich w razie potrzeby? Tak, możemy przechowywać i przesyłać dane między programami za pomocą formatu pliku zwanego CSV.
Co to jest plik CSV?
Plik CSV to rodzaj pliku używanego do przechowywania danych w formularzu strukturalnym (wiersz/kolumna). Jest to zwykły plik tekstowy i jak wskazuje jego nazwa, przechowuje wartości oddzielone przecinkiem.
W tym poście będziemy przeprowadzić szczegółową dyskusję na temat czytania, pisania i analizowania pliku CSV w Python.
Pochodzenie pliku CSV
Koncepcja posiadania pliku CSV wynika z potrzeby eksportowania dużych ilości danych z jednego miejsca do drugiego (programy). Na przykład importowanie dużych danych arkusza kalkulacyjnego i eksportowanie ich do jakiejś bazy danych. Podobnie możemy eksportować duże ilości danych do programów.
Różne języki używają różnych formatów do przechowywania danych, więc gdy programiści muszą eksportować dane z jednego programu do drugiego, uważali potrzebę posiadania rodzaju uniwersalnego typu pliku, którego możemy przesyłać duże ilości danych; Typ pliku, który każdy program może odczytać i analizować we własnym formacie.
Zrozum strukturę pliku CSV
Struktura pliku CSV będzie wyglądać mniej więcej tak:
Kolumna 1, kolumna 2, kolumna 3 Wartość 1, wartość 2, wartość 3…,…,…
Tak jak mamy kolumny i wiersze w bazie danych:
Lub w tabeli danych arkusza kalkulacyjnego:
Podobnie plik CSV jest prostym typem pliku tekstowego, w którym dane są przechowywane w postaci elementów oddzielonych przecinkiem:
Każda kolumna jest oddzielona przecinkiem, a każdy wiersz znajduje się na nowej linii.
W porządku, po zrozumieniu podstawowej koncepcji, pochodzenia i struktury pliku CSV, nauczmy się czytać, pisać i analizować CSV w Python.
Czytanie pliku CSV w Python
Do analizowania plików CSV na szczęście mamy wbudowaną bibliotekę CSV dostarczoną przez Pythona. Biblioteka CSV jest naprawdę łatwa w użyciu i może być używana zarówno do czytania, jak i pisania do pliku CSV. Zacznijmy od przeczytania pliku CSV.
Do odczytania pliku CSV będzie używany obiekt czytnika. Zacznijmy pisać kod do odczytania pliku CSV i zrozumienie go w procedurze krok po kroku:
Czytanie pliku CSV z domyślnym (przecinka)
Przede wszystkim musimy zaimportować moduł CSV:
Importuj CSV
Po zaimportowaniu modułu CSV jesteśmy teraz w stanie użyć go w naszym programie Python.
Następnie musimy otworzyć plik CSV za pomocą funkcji Open () w trybie czytania:
z otwartym (studenci.csv ', „r”) jako csvfile
Po przeczytaniu pliku CSV utwórz obiekt czytnika CSV:
CSVREADER = CSV.czytelnik (CSVFILE)
Ponieważ przecinek jest domyślnym ogranicznikiem, więc nie musimy o tym wspominać. W przeciwnym razie musimy podać ograniczenie używane przez plik CSV.
Wreszcie, aby wyodrębnić każdy wiersz, użyj pętli dla iteracji nad CSVreader obiekt i wydrukuj je:
Dla studenta w CSVReader: Print (Student)
Podsumowując, ostateczny kod będzie wyglądał tak:
importować CSV z otwartym („Studenci.csv ', „r”) jako csvfile csvreader = csv.Czytnik (CSVFILE) dla studenta w CSVReader: Print (Student)12345 | importować CSVWITH Open („Studenci.csv ', „r”) jako csvfile csvreader = csv.Czytnik (CSVFILE) dla studenta w CSVReader: Print (Student) |
Po napisaniu całego kodu wykonaj kod, a będziesz mieć cały plik CSV przeanalizowany w tablicy Pythona:
Czytanie pliku CSV z niestandardowym ogranicznikiem
Aby odczytać plik CSV z niestandardowym ogranicznikiem, musimy tylko wspomnieć o ograniczniku podczas czytania i tworzenia obiektu czytnika CSV.
Na przykład, jeśli umieścimy półkologi (;) w miejscu przecinka w studiach.CSV:
I chcę odczytać plik CSV na podstawie półkolonu, wówczas ograniczenie zostanie wspomniane jak:
CSVREADER = CSV.czytnik (csvfile, delimiter = ';')
Ostateczny kod z konkretnym ogranicznikiem będzie wyglądał tak:
importować CSV z otwartym („Studenci.csv ', „r”) jako csvfile csvreader = csv.czytnik (csvfile, delimiter = ';') dla studenta w CSVReader: print (student)12345 | importować CSVWITH Open („Studenci.csv ', „r”) jako csvfile csvreader = csv.czytnik (csvfile, delimiter = ';') dla studenta w CSVReader: print (student) |
Wyjście będzie takie samo, jak w poprzednim przykładzie:
W ten sposób możemy zapewnić niestandardowy ogranicznik i odczytać plik CSV w Python. Teraz nauczmy się pisać plik CSV w Python.
Pisanie pliku CSV w Python
Do zapisywania pliku CSV obiekt pisarza zostanie użyty. Mogą istnieć dwa sposoby napisania pliku CSV:
- Napisz linie jeden po drugim za pomocą funkcji Writerow ()
- Napisz wiele wierszy za pomocą funkcji Writerows ()
Zacznijmy pisać kod do zapisywania pliku CSV i lepiej zrozum w obie strony:
Jak napisać plik CSV za pomocą funkcji Writerow () w Python
Używając tego Writerow ()
funkcja, możemy napisać tylko jedną linię na raz w pliku CSV.
Na przykład napisać trzy rzędy do nowych pracowników.Plik CSV, Python pójdzie w ten sposób:
importować CSV z Open („Pracownicy.csv ', „w”) jako csvfile: pisarz = csv.pisarz (CSVFILE).Writerow ([„id”, „nazwa”, „wiek”]) pisarz.pisarz ([1, „John”, 35]).Writerow ([2, „Harry”, 25])123456 | importować CSVWITH Open („Pracownicy.csv ', „w”) jako csvfile: pisarz = csv.pisarz (CSVFILE).Writerow ([„id”, „nazwa”, „wiek”]) pisarz.pisarz ([1, „John”, 35]).Writerow ([2, „Harry”, 25]) |
Powyższy kod utworzy plik o nazwie pracowników.CSV i dodaj trzy rzędy do tych pracowników.plik CSV.
Jednak ta metoda staje się nieefektywna, gdy musimy dodać setki wierszy. W takich przypadkach musimy dodać każdy wiersz jeden po drugim, co staje się gorączkową pracą. W celu rozwiązania tego problemu Python zapewnia również Writerowie ()
funkcja zapisywania wielu wierszy w pliku CSV jednocześnie.
Napisz wiele wierszy za pomocą funkcji Writerows ()
Za pomocą Writerowie () funkcja, możemy po prostu dostarczyć tablicę tablic (wierszy) do funkcji Writerows () i doda wszystkie wiersze do pliku CSV.
Na przykład, napisanie trzech rzędów w pracowników.plik CSV najpierw tworzymy tablicę o nazwie "pracownicy.CSV ” który zawiera wiersze w postaci elementów tablicy, a następnie zapewnia "pracownicy.CSV ” tablica do funkcji Writerows ().
Podsumowując, Python pójdzie w ten sposób:
Import CSV Pracownicy_csv = [[„ID”, „Nazwa”, „Age”], [1, „John”, 35], [2, „Harry”, 25]] z Open („Pracownicy.csv ', „w”) jako csvfile: pisarz = csv.pisarz (CSVFILE).Writerow (pracownicy.CSV)12345 | Import CSVEMPLOTYES_CSV = [[„ID”, „Nazwa”, „Age”], [1, „John”, 35], [2, „Harry”, 25]] z otwartym („Pracownicy.csv ', „w”) jako csvfile: pisarz = csv.pisarz (CSVFILE).Writerow (pracownicy.CSV) |
Powyższy kod utworzy plik o nazwie pracowników.CSV i dodaj trzy rzędy do tych pracowników.plik CSV, taki sam jak w przypadku wcześniejszej procedury.
Korzystając z tej metody, możesz dodać tysiące wierszy do pliku CSV w krótkim czasie, podając dane w formie tablic.
Wniosek
CSV to format danych używany do przechowywania danych w formacie tabelary. Python ma wbudowany moduł, który pozwala kodowi odczytać, zapisywać i analizować dane CSV w kod Python.
W tym poście nauczyliśmy się czytać i zapisywać dane w postaci pliku CSV za pomocą Pythona.
- « Funkcje Pythona - definicja z przykładami
- Jak sprawdzić wersję systemu operacyjnego za pomocą linii poleceń Linux »