Jak czytać, pisać i analizować CSV w Python

Jak czytać, pisać i analizować CSV w Python

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)
12345importować 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)
12345importować 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])
123456importować 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)
12345Import 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.