Come utilizzare "con" in python per aprire file (inclusi esempi)
Puoi utilizzare la seguente sintassi per aprire un file in Python, farci qualcosa e quindi chiudere il file:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
Il problema con questo approccio è che è molto facile dimenticare di chiudere il file.
Un approccio migliore è utilizzare open , che utilizza la seguente sintassi di base:
with open (' my_data.csv ') as file: df = file. read () print (df)
Utilizzando questo approccio, il file su cui stai lavorando viene chiuso automaticamente, quindi non devi ricordarti di utilizzare file.close() .
Gli esempi seguenti mostrano come utilizzare open in diversi scenari.
Esempio 1: utilizzare l’istruzione With per leggere il file
Il codice seguente mostra come utilizzare l’istruzione “with” per leggere un file in Python e stampare il contenuto del file:
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
Il contenuto del file viene stampato e il file viene chiuso automaticamente senza che venga digitato file.close() .
Esempio 2: utilizzare l’istruzione With per scrivere un file
Il codice seguente mostra come utilizzare l’istruzione “with” per scrivere testo in un file:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
Nota che la ‘ w ‘ nell’istruzione open() dice a Python di usare la modalità ‘scrittura’ con il file invece della modalità lettura.
Esempio 3: utilizzare l’istruzione With per leggere e scrivere file
Possiamo anche aprire più file contemporaneamente in un’unica istruzione “with”.
Il codice seguente mostra come utilizzare l’istruzione “with” per aprire due file, leggere il contenuto di un file e quindi scrivere il contenuto del primo file nel secondo file:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
Se andiamo alla posizione in cui abbiamo scritto “data_out.csv”, possiamo quindi visualizzare il contenuto del file:
Tieni presente che possiamo utilizzare la funzione open() per aprire tutti i file che desideriamo in una singola istruzione “with”.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:
Come leggere file CSV con Pandas
Come leggere file Excel con Panda
Come leggere file di testo con Pandas