In questo argomento, impareremo come leggere e scrivere file CSV in Python.
Definizione: CSV (valore separato da virgola) è simile a un file di testo in cui i dati memorizzati sono separati da alcuni delimitanti (di solito una virgola). Ogni campo è separato da un delimitatore. In Python, i file CSV vengono elaborati utilizzando il modulo CSV. Quindi, dobbiamo importare questo modulo.
Ex: importazione CSV
L'esempio seguente mostra il modo in cui i dati vengono archiviati in un file CSV. Qui, una virgola viene utilizzata come delimitatore.
FileName: Person_info.CSV
Nome, secondo nome, cognome, età
Anand, Kumar, matematica, 31
Sachin, Ramesh, Tendulakar, 40
Virendra, Sehwag, Singh, 38
Rahul, Dravid, Xyz, 40
Il file CSV può essere aperto in una delle seguenti modalità:
R -> Modalità leggi
W -> Modalità scrittura
A -> Modalità Append
In Python, un'operazione di file viene eseguita nel seguente ordine:
- Apri un file;
- Leggi, scrivi o aggiungono. Quando specifichiamo la modalità di scrittura, il file verrà aperto in modalità di scrittura se il file esiste, altrimenti, creerà un file. Questo è applicabile anche per la modalità Append. In modalità lettura, se esiste un file, aprirà il file in modalità di lettura, altrimenti lancia l'eccezione FileNotFounderror; E
- Chiudere il file.
Apri un file CSV
Viene utilizzato il metodo integrato aperto ().
Ex:
- f = open (“FileName.CSV ”,” r ”) # in CSV Python default è la modalità di lettura
- f = open (“FileName.CSV ", 'W') # Modalità scrittura
Chiusura di un file
Viene utilizzato il metodo integrato vicino ().
fp = open ("nome file.CSV ", 'W')
# eseguire alcune operazioni di file
fp.vicino()
Operazioni di file utilizzando con
Il modo migliore per eseguire l'operazione del file CSV e il metodo più comunemente usato è con l'istruzione. Usando questo assicura che il file sia chiuso quando viene uscito il blocco all'interno.
Ex:
con Open ('FileName.csv ',' w ', codifica =' utf-8 ') come fp:
#Performi alcune operazioni di file
#Stements Outside the with Block
Quando usciamo con il blocco, il file verrà chiuso automaticamente.
Scrivi a un file CSV
Per scrivere in un file CSV, dobbiamo aprirlo in Write "W" o aggiungere una modalità.
Nell'esempio seguente, leggeremo da un file e scriveremo a un nuovo file.
Importa CSV
con Open ('FileName.csv ',' r ') come fp:
lettore = CSV.Reader (FP) #Read File
con Open ('NewFileName.CSV ',' W ') come FQ:
Writer = CSV.Writer (fq, delimiter = '-')
per la riga nel lettore: #to iterrate su ogni riga
scrittore.Writerow (riga) #write riga a nuovo file
Usando il dizionario scrittore
Nell'esempio seguente, leggeremo da un file e scriveremo a un nuovo file usando il metodo DictWriter ().
Importa CSV
con Open ('FileName.csv ',' r ') come fp:
lettore = CSV.DicTreader (FP) #Read File
con Open ('NewFileName.csv ',' w ', newline = ") come fq: #newline =" Per evitare di aggiungere una nuova linea
row_names = ['Nome', 'Middle Name', 'Cognome', 'Age']
Writer = CSV.Dictwriter (fq, fieldnames = row_names, delimiter = '-')
scrittore.WriteHeader ()#Write Heading Lines
per la riga nel lettore:
scrittore.Writerow (linea)
Writerows ()
Questo metodo scrive più righe alla volta; Dobbiamo passare un elenco di elenchi. Ex:
Importa CSV
head_names = ['Nome', 'Middle Name', 'Cognome', 'Age']
# Righe dei dati del file CSV
ROWS = [['Anand', 'Kumar', 'Math', 31],
['Sachin', 'Ramesh', 'Tendulakar', 40],
['Virendra', 'Sehwag', 'Singh', 38],
['Rahul', 'Dravid', 'xyz', 40]]
# Scrivere al file CSV
con Open ('NewFileName.csv ',' w ') come fp:
# Creazione di un oggetto Writer CSV
csvwriter = CSV.Writer (FP)
# scrivi l'intestazione
csvwriter.writerow (head_names)
# Scrivi le righe dei dati
csvwriter.Writerows (righe)
Leggere dal file
Per leggere il file CSV in Python, dobbiamo aprire il file in modalità di lettura "R". Ex:
Importa CSV
con Open ('FileName.csv ',' r ') come fp:
data = CSV.lettore (FP)
#Default Delimiter è virgola, se CSV separato da altri delimitanti deve specificare
#Ex data = CSV.lettore (fp, delimiter = '-')
stampa (dati) # restituire oggetto
#skippando l'intestazione
Next (Data) #Call Next Method of Generator
Per la riga nei dati: #tO iterrate su ogni riga
stampa (riga) # stampa ogni valore in un elenco
fp.Cerca (0)# Porta il cursore alla prima riga
per la linea nei dati:
print (riga [0])# stampa solo nomi
Usando il lettore di dizionario
Per leggere il file CSV usando il metodo DicTreader ().
Importa CSV
con Open ('FileName.csv ',' r ') come fp:
lettore = CSV.DicTreader (FP) #Read File
per la riga nel lettore:
Stampa (riga) #print ogni riga sotto forma di Dictary
fp.Cerca (0)# Porta il cursore alla prima riga
Per i dati nel lettore:
Stampa (Data ['Age'])#Possiamo stampare solo Age usando la chiave 'Age'
Conclusione
Abbiamo imparato a leggere e scrivere un file usando il modulo CSV. Il file CSV è il formato di file più comunemente usato nel settore dell'automazione perché è facile da leggere e modificare i dati. Inoltre, Pandas è un altro metodo che possiamo utilizzare per elaborare i file CSV.