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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *