Escribir matriz en archivo CSV en Python

Muhammad Waiz Khan 30 enero 2023
  1. Python Escribe un array en un archivo CSV en Python usando el método numpy.savetxt()
  2. Python Write Array en un archivo CSV en Python usando el método Dataframe.to_csv()
  3. Escribir un array en un archivo CSV en Python usando el método writer.writerows()
Escribir matriz en archivo CSV en Python

En este tutorial, analizaremos varios métodos para escribir los datos del array en un archivo de valores separados por comas (CSV) en Python. Supongamos que tenemos un array que contiene algunos datos procesados, la salida de algún algoritmo, pesos de algún modelo, etc., y queremos guardarlos para uso futuro.

El archivo CSV se usa comúnmente para guardar los datos del array, ya que su formato permite que los datos se guarden en forma de tabla estructurada. Podemos escribir un array en un archivo CSV usando los siguientes métodos en Python.

Python Escribe un array en un archivo CSV en Python usando el método numpy.savetxt()

El método numpy.savetxt(fname, array, delimiter=) guarda el array de entrada en el archivo - fname. El argumento delimiter es el valor utilizado como separador para separar el valor independiente en los datos.

Para guardar el array en un archivo CSV, necesitaremos pasar el fname con la extensión .csv y usar la coma , como separador. El siguiente código de ejemplo demuestra cómo usar numpy.savetxt() para escribir un array en un archivo CSV en Python.

import numpy as np

a = np.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])
np.savetxt("myfile.csv", a, delimiter=",")

Python Write Array en un archivo CSV en Python usando el método Dataframe.to_csv()

El método Dataframe.to_csv(path, sep,...) guarda un DataFrame en un archivo y una ruta especificados en el argumento path. El argumento sep es el separador o delimitador, que se utilizará para separar los valores; el valor predeterminado del argumento sep es coma ,.

Podemos escribir un array en un archivo CSV convirtiéndolo primero en un DataFrame y luego proporcionando la ruta del archivo CSV como el argumento path usando el método Dataframe.to_csv(). Dado que el valor predeterminado del argumento sep es , tenemos que proporcionar el argumento DataFrame y el argumento path al método Dataframe.to_csv().

El siguiente código de ejemplo demuestra cómo utilizar el método Dataframe.to_csv() para escribir el array en un archivo CSV en Python.

import pandas as pd

df = pd.DataFrame(myarray)
df.to_csv("myfile.csv")

Escribir un array en un archivo CSV en Python usando el método writer.writerows()

El writer.writerows(rows) toma el argumento rows en forma de un array o lista 2D y lo escribe en el objeto de archivo del writer. El objeto writer se devuelve desde el método csv.writer(file), que toma un objeto de archivo file como entrada y devuelve el objeto writer como salida.

Para escribir un array en un archivo CSV, primero pasamos el objeto de archivo CSV al método csv.writer() y luego usamos el objeto writer devuelto por el método csv.writer() para escribir el array en el archivo CSV.

El siguiente código de ejemplo demuestra cómo utilizar el método writer.writerows() para escribir el array en un archivo CSV en 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)

Para leer el array del archivo CSV, podemos usar el objeto writer del método csv.reader(file) para leer el array del objeto de archivo file del archivo CSV en Python.

El siguiente código de ejemplo demuestra cómo utilizar el método csv.reader() para leer el array del archivo CSV.

import csv

with open("myfile.csv", "r", newline="") as file:
    myreader = csv.reader(file, delimiter=",")
    for rows in myreader:
        print(rows)

Producción :

['1', '4', '2']
['7', '9', '4']
['0', '6', '2']

Artículo relacionado - Python Array