.CVV číslo volby
Soubor CSV je typ souboru prostého textu, který k uspořádání tabulkových dat používá specifické strukturování. CSV je běžný formát pro výměnu dat, protože je kompaktní, jednoduchý a obecný. Mnoho online služeb umožňuje svým uživatelům exportovat tabulková data z webu do souboru CSV. Soubory CSV se otevřou do aplikace Excel a téměř všechny databáze mají nástroj umožňující import ze souboru CSV. Standardní formát je definován daty řádků a sloupců. Kromě toho je každý řádek ukončen novým řádkem, který začíná dalším řádkem. Také v řádku je každý sloupec oddělen čárkou.
V tomto výukovém programu se naučíte:
- .CVV číslo volby
- Ukázkový soubor CSV.
- Modul CSV Pythonu
- Funkce modulu CSV
- Čtení souborů CSV
- Čtení jako slovník
- Zápis do souborů CSV
- Čtení souborů CSV pomocí pand
- Zápis do souborů CSV pomocí pand
Ukázkový soubor CSV.
Data ve formě tabulek se také nazývají CSV (hodnoty oddělené čárkami) - doslova „hodnoty oddělené čárkami“. Toto je textový formát určený k prezentaci tabulkových dat. Každý řádek souboru je jedním řádkem tabulky. Hodnoty jednotlivých sloupců jsou odděleny oddělovacím symbolem - čárkou (,), středníkem (;) nebo jiným symbolem. CSV lze snadno číst a zpracovávat pomocí Pythonu.
Zvažte následující tabulku
Data tabulky
Programovací jazyk | Navrhl | Objevil se | Rozšíření |
Krajta | Guido van Rossum | 1991 | .py |
Jáva | James Gosling | 1995 | .Jáva |
C ++ | Bjarne Stroustrup | 1983 | .cpp |
Tuto tabulku můžete reprezentovat v CSV, jak je uvedeno níže.
Data CSV
Programovací jazyk, Navrhl, Objevil se, Rozšíření
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C ++, Bjarne Stroustrup, 1983, .cpp
Jak vidíte, každý řádek je nový řádek a každý sloupec je oddělen čárkou. Toto je příklad toho, jak vypadá soubor CSV.
Stáhněte si data CSV
Modul CSV Pythonu
Python poskytuje modul CSV pro zpracování souborů CSV. Chcete-li číst / zapisovat data, musíte procházet řádky souboru CSV. K získání dat ze zadaných sloupců musíte použít metodu split.
Funkce modulu CSV
V dokumentaci k modulu CSV najdete následující funkce:
- csv.field_size_limit - vrátí maximální velikost pole
- csv.get_dialect - získá dialekt, který je spojen se jménem
- csv.list_dialects - zobrazí všechny registrované dialekty
- csv.reader - načte data ze souboru csv
- csv.register_dialect - přidružit dialekt ke jménu
- csv.writer - zapíše data do souboru csv
- csv.unregister_dialect - smaže dialekt spojený s názvem registru dialektu
- csv.QUOTE_ALL - Citovat vše, bez ohledu na typ.
- csv.QUOTE_MINIMAL - Nabídka polí se speciálními znaky
- csv.QUOTE_NONNUMERIC - Citujte všechna pole, která nemají hodnotu čísel
- csv.QUOTE_NONE - Na výstupu nic necitujte
V tomto kurzu se zaměříme pouze na funkce čtečky a zapisovače, které vám umožní upravovat, upravovat a manipulovat s daty v souboru CSV.
Jak číst soubor CSV
Chcete-li číst data ze souborů CSV, musíte použít funkci čtečky ke generování objektu čtečky.
Funkce čtečky je vyvinuta tak, aby převzala každý řádek souboru a vytvořila seznam všech sloupců. Poté musíte vybrat sloupec, pro který chcete data proměnné.
Zní to mnohem složitěji, než je. Podívejme se na tento příklad a zjistíme, že práce se souborem csv není tak náročná.
#import necessary modulesimport csvwith open('X:\data.csv','rt')as f:data = csv.reader(f)for row in data:print(row)
Když provedete výše uvedený program, výstup bude:
['Programming language; Designed by; Appeared; Extension']['Python; Guido van Rossum; 1991; .py']['Java; James Gosling; 1995; .java']['C++; Bjarne Stroustrup;1983;.cpp']
Jak číst soubor CSV jako slovník
Můžete také použít DictReader ke čtení souborů CSV. Výsledky jsou interpretovány jako slovník, kde klíč je řádek záhlaví a ostatní řádky jsou hodnoty.
Zvažte následující kód
#import necessary modulesimport csvreader = csv.DictReader(open("file2.csv"))for raw in reader:print(raw)
Výsledkem tohoto kódu je:
OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])
A tento způsob čtení dat ze souboru CSV je mnohem snazší než dřívější metoda. To však není nejlepší způsob čtení dat.
Jak psát soubor CSV
Pokud máte sadu dat, která chcete uložit do souboru CSV, musíte použít funkci writer (). Chcete-li iterovat data přes řádky (řádky), musíte použít funkci writerow ().
Zvažte následující příklad. Data zapisujeme do souboru „writeData.csv“, kde je oddělovač apostrof.
#import necessary modulesimport csvwith open('X:\writeData.csv', mode='w') as file:writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)#way to write to csv filewriter.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])writer.writerow(['Java', 'James Gosling', '1995', '.java'])writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])
Výsledkem v souboru CSV je:
Programming language, Designed by, Appeared, ExtensionPython, Guido van Rossum, 1991, .pyJava, James Gosling, 1995, .javaC++, Bjarne Stroustrup,1983,.cpp
Čtení souborů CSV pomocí pand
Pandas je knihovna opensource, která vám umožňuje provádět manipulaci s daty v Pythonu. Pandy poskytují snadný způsob vytváření, manipulace a mazání dat.
Musíte nainstalovat knihovnu pandas pomocí příkazu pip install pandas
. V systému Windows spustíte tento příkaz v příkazovém řádku v systému Linux v terminálu.
Čtení souboru CSV do datového rámce pandy je velmi rychlé a snadné:
#import necessary modulesimport pandasresult = pandas.read_csv('X:\data.csv')print(result)
Výsledek:
Programming language, Designed by, Appeared, Extension0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp
Velmi užitečná knihovna. Za pouhé tři řádky kódu získáte stejný výsledek jako dříve. Pandy vědí, že první řádek souboru CSV obsahoval názvy sloupců, a použije je automaticky.
Zápis do souborů CSV pomocí pand
Zápis do souboru CSV pomocí Pandas je stejně snadný jako čtení. Zde o tom můžete přesvědčit. Nejprve musíte vytvořit DataFrame na základě následujícího kódu.
from pandas import DataFrameC = {'Programming language': ['Python','Java', 'C++'],'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],'Appeared': ['1991', '1995', '1985'],'Extension': ['.py', '.java', '.cpp'],}df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be storedprint (df)
Tady je výstup
Programming language, Designed by, Appeared, Extension0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp
A soubor CSV je vytvořen na zadaném místě.
Závěr
Takže teď víte, jak používat metodu 'csv' a také číst a zapisovat data ve formátu CSV. Soubory CSV jsou široce používány v softwarových aplikacích, protože jsou snadno čitelné a spravovatelné a díky jejich malé velikosti jsou relativně rychlé pro zpracování a přenos.
Modul csv poskytuje různé funkce a třídy, které vám umožní snadné čtení a zápis. Můžete se podívat na oficiální dokumentaci Pythonu a najít další zajímavé tipy a moduly. CSV je nejlepší způsob ukládání, prohlížení a odesílání dat. Ve skutečnosti to není tak těžké se naučit, jak se zdá na začátku. Ale s trochou praxe to zvládnete.
Pandy jsou skvělou alternativou ke čtení souborů CSV.
Existují také další způsoby, jak analyzovat textové soubory s knihovnami jako ANTLR, PLY a PlyPlus. Všichni zvládnou těžkou analýzu a pokud jednoduchá manipulace s řetězcem nefunguje, můžete použít regulární výrazy.