Scrivi array su file CSV in Python
-
Python scrive un array in un file CSV in Python usando il metodo
numpy.savetxt()
-
Python scrive array su un file CSV in Python usando il metodo
Dataframe.to_csv()
-
Python scrive array su un file CSV in Python usando il metodo
writer.writerows()
In questo tutorial, esamineremo vari metodi per scrivere i dati dell’array in un file CSV (valori delimitati da virgole) in Python. Supponiamo di avere un array contenente alcuni dati elaborati, l’output di qualche algoritmo, pesi di qualche modello, ecc., E vogliamo salvarli per un uso futuro.
Il file CSV viene comunemente utilizzato per salvare i dati dell’array, poiché il suo formato consente di salvare i dati in una forma di tabella strutturata. Possiamo scrivere un array in un file CSV utilizzando i seguenti metodi in Python.
Python scrive un array in un file CSV in Python usando il metodo numpy.savetxt()
Il metodo numpy.savetxt(fname, array, delimiter=)
salva l’array di input nel file - fname
. L’argomento delimiter
è il valore utilizzato come separatore per separare il valore indipendente nei dati.
Per salvare l’array in un file CSV, avremo bisogno di passare il fname
con l’estensione .csv
e usare la virgola ,
come separatore. Il codice di esempio sotto mostra come usare numpy.savetxt()
per scrivere un array in un file CSV in Python.
import numpy as np
a = np.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])
np.savetxt("myfile.csv", a, delimiter=",")
Python scrive array su un file CSV in Python usando il metodo Dataframe.to_csv()
Il metodo Dataframe.to_csv(path, sep,...)
salva un DataFrame
in un file e percorso specificato nell’argomento path
. L’argomento sep
è il separatore o delimitatore, che verrà utilizzato per separare i valori; il valore predefinito dell’argomento sep
è virgola ,
.
Possiamo scrivere un array in un file CSV convertendolo prima in un DataFrame
e quindi fornendo il percorso del file CSV come argomento path
utilizzando il metodo Dataframe.to_csv()
. Poiché il valore predefinito dell’argomento sep
è ,
dobbiamo fornire l’argomento DataFrame
e path
al metodo Dataframe.to_csv()
.
Il codice di esempio seguente mostra come utilizzare il metodo Dataframe.to_csv()
per scrivere l’array in un file CSV in Python.
import pandas as pd
df = pd.DataFrame(myarray)
df.to_csv("myfile.csv")
Python scrive array su un file CSV in Python usando il metodo writer.writerows()
Il writer.writerows(rows)
prende l’argomento rows
sotto forma di un array o di una lista 2D e lo scrive nell’oggetto file dello writer
. L’oggetto writer
viene restituito dal metodo csv.writer(file)
, che accetta un oggetto file file
come input e restituisce l’oggetto writer
come output.
Per scrivere un array in un file CSV, prima passiamo l’oggetto file CSV al metodo csv.writer()
e poi usiamo l’oggetto writer
restituito dal metodo csv.writer()
per scrivere l’array in il file CSV.
Il codice di esempio seguente mostra come utilizzare il metodo writer.writerows()
per scrivere l’array in un file CSV in Python.
import csv
import numpy
a = numpy.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])
with open("myfile.csv", "w", newline="") as file:
mywriter = csv.writer(file, delimiter=",")
mywriter.writerows(a)
Per leggere l’array dal file CSV, possiamo usare l’oggetto writer
del metodo csv.reader(file)
per leggere l’array dall’oggetto file
del file CSV in Python.
Il codice di esempio sotto mostra come utilizzare il metodo csv.reader()
per leggere l’array dal file CSV.
import csv
with open("myfile.csv", "r", newline="") as file:
myreader = csv.reader(file, delimiter=",")
for rows in myreader:
print(rows)
Produzione:
['1', '4', '2']
['7', '9', '4']
['0', '6', '2']