Gravar matriz em arquivo CSV em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Python Grava um Array para um Arquivo CSV em Python Usando o Método numpy.savetxt()
  2. Python Write Array para um arquivo CSV em Python usando o método Dataframe.to_csv()
  3. Python Grava Array para um Arquivo CSV em Python Usando o Método writer.writerows()
Gravar matriz em arquivo CSV em Python

Neste tutorial, veremos vários métodos para gravar os dados do array em um arquivo de valores separados por vírgula (CSV) em Python. Suponha que temos um array contendo alguns dados processados, a saída de algum algoritmo, pesos de algum modelo, etc., e queremos salvá-los para uso futuro.

O arquivo CSV é comumente usado para salvar os dados do array, pois seu formato permite que os dados sejam salvos em uma forma de tabela estruturada. Podemos escrever un array em um arquivo CSV usando os seguintes métodos em Python.

Python Grava um Array para um Arquivo CSV em Python Usando o Método numpy.savetxt()

O método numpy.savetxt(fname, array, delimiter=) salva a matriz de entrada no arquivo - fname. O argumento delimiter é o valor usado como separador para separar o valor independente nos dados.

Para salvar a matriz em um arquivo CSV, precisaremos passar o fname com a extensão .csv e usar a vírgula , como separador. O código de exemplo a seguir demonstra como usar numpy.savetxt() para escrever un array em um arquivo CSV em 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 para um arquivo CSV em Python usando o método Dataframe.to_csv()

O método Dataframe.to_csv(path, sep,...) salva um DataFrame em um arquivo e caminho especificado no argumento path. O argumento sep é o separador ou delimitador, que será usado para separar os valores; o valor padrão do argumento sep é vírgula ,.

Podemos escrever un array em um arquivo CSV primeiro convertendo-o em um DataFrame e, em seguida, fornecendo o caminho do arquivo CSV como o argumento path usando o método Dataframe.to_csv(). Visto que o valor padrão do argumento sep é , temos que fornecer o argumento DataFrame e o path para o método Dataframe.to_csv().

O código de exemplo a seguir demonstra como usar o método Dataframe.to_csv() para gravar a matriz em um arquivo CSV em Python.

import pandas as pd

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

Python Grava Array para um Arquivo CSV em Python Usando o Método writer.writerows()

O writer.writerows(rows) pega o argumento rows na forma de um array 2D ou lista e escreve-o no objeto de arquivo do writer. O objeto writer é retornado do método csv.writer(file), que pega um objeto de arquivo file como entrada e retorna o objeto writer como saída.

Para gravar un array em um arquivo CSV, primeiro passamos o objeto de arquivo CSV para o método csv.writer() e, em seguida, usamos o objeto writer retornado do método csv.writer() para gravar a matriz o arquivo CSV.

O código de exemplo a seguir demonstra como usar o método writer.writerows() para gravar a matriz em um arquivo CSV em 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 ler a matriz do arquivo CSV, podemos usar o objeto writer do método csv.reader(file) para ler a matriz do objeto de arquivo file do arquivo CSV em Python.

O código de exemplo a seguir demonstra como usar o método csv.reader() para ler a matriz do arquivo CSV.

import csv

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

Resultado:

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

Artigo relacionado - Python Array