Definice: CSV (hodnota oddělená čárkou) je podobný textovému souboru, kde jsou uložená data oddělena nějakým oddělovačem (obvykle čárkou). Každé pole je odděleno oddělovačem. V Pythonu se soubory CSV zpracovávají pomocí modulu CSV. Takže musíme tento modul importovat.
Př: import csv
Níže uvedený příklad ukazuje způsob, jakým jsou data uložena v souboru CSV. Zde se jako oddělovač používá čárka.
Název souboru: person_info.CSV
jméno, prostřední jméno, příjmení, věk
Anand, kumar, matematika, 31
Sachin, ramesh, tendulakar, 40 let
Virendra, sehwag, singh, 38 let
Rahul, dravid, xyz, 40
Soubor CSV lze otevřít v kterémkoli z následujících režimů:
r -> režim čtení
w -> režim zápisu
a -> režim přidání
V Pythonu se operace se soubory provádí v následujícím pořadí:
- Otevřít soubor;
- Číst, psát nebo připojovat. Když určíme režim zápisu, soubor se otevře v režimu zápisu, pokud soubor existuje, jinak se vytvoří soubor. To platí také pro režim připojení. Pokud v režimu čtení soubor existuje, otevře jej v režimu čtení, jinak vyvolá výjimku FileNotFoundError; a
- Zavřete soubor.
Otevřete soubor CSV
Je použita vestavěná metoda open ().
Příklad:
- f = open („název souboru.csv ”,” r ”) # V CSV Pythonu je výchozím nastavením režim čtení
- f = open („název souboru.csv ”, 'w') # režim zápisu
Zavření souboru
Je použita vestavěná metoda close ().
fp = open ("název souboru.csv ", 'w')# provést některé operace se soubory
fp.zavřít()
Operace se soubory pomocí s
Nejlepší způsob provedení operace se soubory CSV a nejčastěji používaná metoda je pomocí příkazu. Tímto způsobem je zajištěno, že je soubor uzavřen, když je ukončen blok uvnitř s.
Příklad:
s otevřeným ('název souboru.csv ',' w ', encoding =' utf-8 ') jako fp:# provést některé operace se soubory
# prohlášení mimo blok s
Když opustíme blok, soubor se automaticky uzavře.
Zápis do souboru CSV
Chcete-li zapisovat do souboru CSV, musíme jej otevřít v režimu zápisu „w“ nebo připojení „a“.
V níže uvedeném příkladu budeme číst z jednoho souboru a zapisovat do nového souboru.
import csvs otevřeným ('název souboru.csv ',' r ') jako fp:
čtenář = csv.čtecí (fp) # čtecí soubor
s otevřeným ('newfilename.csv ',' w ') jako fq:
spisovatel = csv.zapisovatel (fq, oddělovač = '-')
pro řádek ve čtečce: # Chcete-li iterovat přes každý řádek
spisovatel.writerow (řádek) #write line to new file
Použití slovníku
V níže uvedeném příkladu budeme číst z jednoho souboru a zapisovat do nového souboru pomocí metody DictWriter ().
import csvs otevřeným ('název souboru.csv ',' r ') jako fp:
čtenář = csv.Soubor DictReader (fp) #read
s otevřeným ('newfilename.csv ',' w ', newline = ") jako fq: #newline =" aby se zabránilo přidání dalšího nového řádku
row_names = ['křestní jméno', 'prostřední jméno', 'příjmení', 'věk']
spisovatel = csv.DictWriter (dotazy, názvy polí = názvy řádků, oddělovač = '-')
spisovatel.writeheader () # zapíše řádky záhlaví
pro linku ve čtečce:
spisovatel.writerow (řádek)
Writerows ()
Tato metoda zapisuje více řádků najednou; musíme předat seznam seznamů. Příklad:
import csvhead_names = ['křestní jméno', 'prostřední jméno', 'příjmení', 'věk']
# datové řádky souboru CSV
řádky = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# zápis do souboru CSV
s otevřeným ('newfilename.csv ',' w ') jako fp:
# vytvoření objektu zapisovače CSV
csvwriter = csv.spisovatel (fp)
# napište nadpis
csvwriter.writerow (head_names)
# zapište datové řádky
csvwriter.writerows (řádky)
Čtení ze souboru
Chcete-li číst soubor CSV v Pythonu, musíme jej otevřít v režimu čtení 'r'. Příklad:
import csvs otevřeným ('název souboru.csv ',' r ') jako fp:
data = csv.čtečka (fp)
#default delimiter is comma, if csv separated by other delimiter need to specify
#Ex data = csv.čtečka (fp, oddělovač = '-')
print (data) # it návratový objekt
# přeskočení záhlaví
next (data) #call další metoda generátoru
pro řádek v datech: # Chcete-li iterovat přes každý řádek
print (line) # vytiskne každou hodnotu v seznamu
fp.hledat (0) # přenést kurzor na první řádek
pro data v řádku:
tisk (řádek [0]) # tisk pouze křestních jmen
Používání čtečky slovníku
Čtení souboru CSV pomocí metody DictReader ().
import csvs otevřeným ('název souboru.csv ',' r ') jako fp:
čtenář = csv.Soubor DictReader (fp) #read
pro linku ve čtečce:
print (line) #print každý řádek ve formě diktátu
fp.hledat (0) # přenést kurzor na první řádek
pro data ve čtečce:
print (data ['age']) # můžeme vytisknout pouze věk pomocí klávesy 'age'
Závěr
Naučili jsme se, jak číst a zapisovat soubor pomocí modulu CSV. Soubor CSV je nejčastěji používaným formátem souborů v automatizačním průmyslu, protože je snadno čitelný a upravovaný. Pandas je také další metoda, kterou můžeme použít ke zpracování souborů CSV.