Escreva NumPy Array para CSV em Python

Manav Narula 30 janeiro 2023
  1. Use um DataFrame pandas para salvar um array NumPy em um arquivo CSV
  2. Use a função numpy.savetxt() para salvar um array NumPy em um arquivo CSV
  3. Use a função tofile() para salvar um array NumPy em um arquivo CSV
  4. Use métodos de tratamento de arquivos para salvar um array numpy em um arquivo CSV
Escreva NumPy Array para CSV em Python

Neste tutorial, discutiremos como armazenar um array numpy em um arquivo CSV.

Use um DataFrame pandas para salvar um array NumPy em um arquivo CSV

Neste método, primeiro salvaremos o array em um DataFrame pandas e então converteremos este DataFrame em um arquivo CSV.

O código a seguir mostra como podemos conseguir isso.

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")

A função pd.DataFrame armazena o array em um DataFrame, e nós simplesmente o exportamos para um arquivo CSV usando a função to_csv().

Use a função numpy.savetxt() para salvar um array NumPy em um arquivo CSV

A função savetxt() do módulo numpy pode salvar um array em um arquivo de texto. Podemos especificar o formato do arquivo, o caractere delimitador e muitos outros argumentos para obter o resultado final em nosso formato desejado.

No código a seguir, salvamos um array em um arquivo CSV usando esta função.

import numpy as np

a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

np.savetxt("sample.csv", a, delimiter=",")

Use a função tofile() para salvar um array NumPy em um arquivo CSV

A função tofile() nos permite escrever um array em um arquivo de texto ou binário. No entanto, esse método tem muitas desvantagens. É mais como uma função de conveniência para armazenamento rápido de dados de array. A precisão da informação é perdida, pois ele armazena tudo em uma única linha, portanto, esse método não é uma boa escolha para arquivos destinados a arquivar dados. Alguns desses problemas podem ser superados gerando os dados como arquivos de texto em detrimento da velocidade e do tamanho do arquivo.

O código a seguir demonstra o uso dessa função.

import numpy as np

a = np.asarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

a.tofile("sample.csv", sep=",")

Use métodos de tratamento de arquivos para salvar um array numpy em um arquivo CSV

Podemos usar métodos tradicionais de manipulação de arquivos, mas não é aconselhável usá-los, pois tais métodos requerem muitas modificações, dependendo da forma do array e podem consumir muita memória.

O código a seguir mostra um exemplo desse método.

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)

Descompactamos o array em uma lista de linhas e, em seguida, retornamos uma única string juntando-se a essa lista usando a função join(). Em seguida, gravamos essa string em um arquivo CSV.

Manav Narula avatar Manav Narula avatar

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

Artigo relacionado - NumPy Array