Scrivere un array NumPy in CSV in Python
-
Usa un DataFrame
pandas
per salvare un array NumPy in un file CSV -
Usa la funzione
numpy.savetxt()
per salvare un array NumPy in un file CSV -
Usa la funzione
tofile()
per salvare un array NumPy in un file CSV - Usa i metodi di gestione dei file per salvare un array NumPy in un file CSV
In questo tutorial, discuteremo come memorizzare un array numpy in un file CSV.
Usa un DataFrame pandas
per salvare un array NumPy in un file CSV
In questo metodo, prima salveremo l’array in un DataFrame pandas
e poi convertiremo questo DataFrame in un file CSV.
Il codice seguente mostra come ottenere questo risultato.
import pandas as pd
import numpy as np
a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
pd.DataFrame(a).to_csv("sample.csv")
La funzione pd.DataFrame
memorizza l’array in un DataFrame, e lo esportiamo semplicemente in un file CSV usando la funzione to_csv()
.
Usa la funzione numpy.savetxt()
per salvare un array NumPy in un file CSV
La funzione savetxt()
del modulo numpy può salvare un array in un file di testo. Possiamo specificare il formato del file, il carattere delimitatore e molti altri argomenti per ottenere il risultato finale nel formato desiderato.
Nel codice seguente, salviamo un array in un file CSV utilizzando questa funzione.
import numpy as np
a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt("sample.csv", a, delimiter=",")
Usa la funzione tofile()
per salvare un array NumPy in un file CSV
La funzione tofile()
ci permette di scrivere un array in un file di testo o binario. Tuttavia, questo metodo presenta molti inconvenienti. È più simile a una comoda funzione per l’archiviazione rapida dei dati dell’array. La precisione delle informazioni viene persa poiché memorizza tutto in una singola riga, quindi questo metodo non è una buona scelta per i file destinati all’archiviazione dei dati. Alcuni di questi problemi possono essere risolti inviando i dati come file di testo a scapito della velocità e delle dimensioni del file.
Il codice seguente mostra l’utilizzo di questa funzione.
import numpy as np
a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
a.tofile("sample.csv", sep=",")
Usa i metodi di gestione dei file per salvare un array NumPy in un file CSV
Possiamo utilizzare i metodi tradizionali di gestione dei file, ma non è consigliabile utilizzarli poiché tali metodi richiedono molte modifiche a seconda della forma dell’array e possono consumare molta memoria.
Il codice seguente mostra un esempio di questo metodo.
a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
csv_rows = ["{},{},{}".format(i, j, k) for i, j, k in a]
csv_text = "\n".join(csv_rows)
with open("sample.csv", "w") as f:
f.write(csv_text)
Spacchettiamo l’array in una lista di righe e poi restituiamo una singola stringa unendoci a questo elenco utilizzando la funzione join()
. Quindi scriviamo questa stringa in un file CSV.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn