Scrivi array su file CSV in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Python scrive un array in un file CSV in Python usando il metodo numpy.savetxt()
  2. Python scrive array su un file CSV in Python usando il metodo Dataframe.to_csv()
  3. Python scrive array su un file CSV in Python usando il metodo writer.writerows()
Scrivi array su file CSV in Python

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']

Articolo correlato - Python Array