Obsługa plików CSV w Python

Obsługa plików CSV w Python
W tym temacie nauczymy się, jak czytać i pisać pliki CSV w Python.

Definicja: CSV (wartość oddzielona przecinka) jest podobna do pliku tekstowego, w którym przechowywane dane są oddzielone przez pewien ogranicznik (zwykle przecinek). Każde pole jest oddzielone przez ograniczenie. W Python pliki CSV są przetwarzane za pomocą modułu CSV. Musimy więc zaimportować ten moduł.

Były: import CSV

Poniższy przykład pokazuje sposób przechowywania danych w pliku CSV. Tutaj przecinek jest używany jako ogranicznik.

Nazwa pliku: person_info.CSV
Imię, drugie imię, nazwisko, wiek
Anand, Kumar, matematyka, 31
Sachin, Ramesh, Tendulakar, 40
Virendra, Sehwag, Singh, 38
Rahul, Dravid, Xyz, 40

Plik CSV można otworzyć w dowolnym z poniższych trybów:
R -> Tryb odczytu
W -> Tryb zapisu
Tryb A -> Dołącz

W Python operacja pliku jest wykonywana w następującej kolejności:

  • Otworzyć plik;
  • Przeczytaj, pisz lub dołącz. Po określaniu trybu zapisu plik zostanie otwarty w trybie zapisu, jeśli plik istnieje, w przeciwnym razie utworzy plik. Ma to również zastosowanie w trybie dodatkowym. W trybie odczytu, jeśli plik istnieje, otworzy plik w trybie odczytu, w przeciwnym razie rzuca wyjątek FilleotFoundError; I
  • Zamknij plik.

Otwórz plik CSV

Zastosowana jest metoda wbudowana ().

Były:

  • f = otwarte („nazwa pliku.csv ”,„ r ”) # w CSV Python domyślny jest tryb odczytu
  • f = otwarte („nazwa pliku.CSV ”,„ W ”) # Tryb zapisu

Zamknięcie pliku

Zastosowana jest metoda wbudowana ().

fp = otwarte („nazwa pliku.CSV ",„ W ')
# Wykonaj niektóre operacje plików
fp.zamknąć()

Operacje plików za pomocą z

Najlepszym sposobem wykonywania operacji pliku CSV i najczęściej stosowanej metody jest instrukcja. Korzystanie z tego zapewnia, że ​​plik jest zamknięty, gdy blok w środku jest wychodzący.

Były:

z otwartym („nazwa pliku.csv ', „w”, kodowanie = „utf-8”) jako fp:
#Perform niektóre operacje plików
#statements na zewnątrz z blokiem

Po wyjściu z blokiem plik zostanie automatycznie zamknięty.

Napisz do pliku CSV

Aby napisać do pliku CSV, musimy go otworzyć w zapisu „W” lub dołączanie „A”.

W poniższym przykładzie przeczytamy z jednego pliku i zapisać do nowego pliku.

Importuj CSV
z otwartym („nazwa pliku.csv ', „r”) jako fp:
czytnik = CSV.czytnik (FP) #Read Plik
Z otwartym („NewFileName.csv ', „w”) jako fq:
Writer = CSV.pisarz (FQ, delimiter = '-')
dla linii w czytniku: #to iterate nad każdym wierszem
pisarz.Writerow (linia) #write linia do nowego pliku

Korzystanie z pisarza słownika

W poniższym przykładzie przeczytamy z jednego pliku i zapisać do nowego pliku za pomocą metody DictWriter ().

Importuj CSV
z otwartym („nazwa pliku.csv ', „r”) jako fp:
czytnik = CSV.Plik DICTREADER (FP) #READ
Z otwartym („NewFileName.csv ', „w”, newline = ”) jako fq: #Newline =", aby uniknąć dodawania dodatkowej nowej linii
Row_names = [„imię”, „drugie imię”, „nazwisko”, „wiek”]
Writer = CSV.DictWriter (fq, fieldNames = row_names, delimiter = '-')
pisarz.Writeheader ()#zapisz linie nagłówka
dla linii w czytelniku:
pisarz.pisarz (linia)

Writerowie ()

Ta metoda pisze wiele wierszy jednocześnie; Musimy przekazać listę list. Były:

Importuj CSV
head_names = [„imię”, „drugie imię”, „nazwisko”, „wiek”]
# wiersze danych pliku CSV
rzędy = [[„Anand”, „Kumar”, „Math”, 31],
[„Sachin”, „Ramesh”, „Tendulakar”, 40],
[„Virendra”, „Sehwag”, „Singh”, 38],
[„Rahul”, „Dravid”, „Xyz”, 40]]
# Pisanie do pliku CSV
Z otwartym („NewFileName.csv ', „w”) jako fp:
# Tworzenie obiektu pisarza CSV
CSVWriter = CSV.pisarz (FP)
# Napisz nagłówek
CSVWriter.Writerow (Head_names)
# Napisz wiersze danych
CSVWriter.Writers (wiersze)

Czytanie z pliku

Aby odczytać plik CSV w Python, musimy otworzyć plik w trybie czytania „R”. Były:

Importuj CSV
z otwartym („nazwa pliku.csv ', „r”) jako fp:
Data = CSV.czytnik (FP)
#Default Delimiter jest przecinkiem, jeśli CSV oddzielone przez inny ograniczenie musi określić
#Ex dane = CSV.czytnik (fp, delimiter = '-')
drukuj (dane) # Zwraca obiekt
#kuping nagłówka
Dalej (dane) #Call następna metoda generatora
Dla linii w danych: #To iTerrate przez każdy wiersz
wydrukuj (wiersz) # Wydrukuj każdą wartość na liście
fp.szukaj (0)# Przynieś kursor do pierwszej linii
dla linii w danych:
wydrukuj (wiersz [0])# wydrukuj tylko imiona

Korzystanie z Słownik czytnika

Aby odczytać plik CSV za pomocą metody DICTReader ().

Importuj CSV
z otwartym („nazwa pliku.csv ', „r”) jako fp:
czytnik = CSV.Plik DICTREADER (FP) #READ
dla linii w czytelniku:
wydrukuj (wiersz) #print każdy wiersz w postaci dyktanty
fp.szukaj (0)# Przynieś kursor do pierwszej linii
dla danych w Reader:
print (dane [„wiek”])#możemy drukować tylko wiek za pomocą klucza „wiek”

Wniosek

Nauczyliśmy się czytać i pisać plik za pomocą modułu CSV. Plik CSV jest najczęściej używanym formatem plików w branży automatyki, ponieważ jest łatwy do odczytania i modyfikowania danych. Ponadto pandy to kolejna metoda, której możemy użyć do przetwarzania plików CSV.