Schreiben NumPy Array in CSV in Python

Manav Narula 30 Januar 2023
  1. Verwenden eines pandas DataFrame zum Speichern eines NumPy-Arrays in einer CSV-Datei
  2. Verwenden Sie die Funktion numpy.savetxt(), um ein NumPy-Array in einer CSV-Datei zu speichern
  3. Verwenden der Funktion tofile() zum Speichern eines NumPy-Arrays in einer CSV-Datei
  4. Verwenden von Dateiverarbeitungsmethoden zum Speichern eines NumPy-Arrays in einer CSV-Datei
Schreiben NumPy Array in CSV in Python

In diesem Tutorial wird erläutert, wie ein NumPy-Array in einer CSV-Datei gespeichert wird.

Verwenden eines pandas DataFrame zum Speichern eines NumPy-Arrays in einer CSV-Datei

Bei dieser Methode speichern wir das Array zunächst in einem pandas-DataFrame und konvertieren diesen DataFrame dann in eine CSV-Datei.

Der folgende Code zeigt, wie wir dies erreichen können.

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

Die Funktion pd.DataFrame speichert das Array in einem DataFrame und exportiert es einfach mit der Funktion to_csv() in eine CSV-Datei.

Verwenden Sie die Funktion numpy.savetxt(), um ein NumPy-Array in einer CSV-Datei zu speichern

Die Funktion savetxt() aus dem numpy-Modul kann ein Array in einer Textdatei speichern. Wir können das Dateiformat, das Trennzeichen und viele andere Argumente angeben, um das Endergebnis in unserem gewünschten Format zu erhalten.

Im folgenden Code speichern wir mit dieser Funktion ein Array in einer CSV-Datei.

import numpy as np

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

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

Verwenden der Funktion tofile() zum Speichern eines NumPy-Arrays in einer CSV-Datei

Mit der Funktion tofile() können wir ein Array in eine Text- oder Binärdatei schreiben. Dieses Verfahren hat jedoch viele Nachteile. Es ist eher eine Komfortfunktion zum schnellen Speichern von Array-Daten. Die Genauigkeit von Informationen geht verloren, da alles in einer einzigen Zeile gespeichert wird. Daher ist diese Methode keine gute Wahl für Dateien, die Daten archivieren sollen. Einige dieser Probleme können überwunden werden, indem die Daten auf Kosten der Geschwindigkeit und der Dateigröße als Textdateien ausgegeben werden.

Der folgende Code demonstriert die Verwendung dieser Funktion.

import numpy as np

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

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

Verwenden von Dateiverarbeitungsmethoden zum Speichern eines NumPy-Arrays in einer CSV-Datei

Wir können herkömmliche Methoden zur Dateiverwaltung verwenden, es ist jedoch nicht ratsam, sie zu verwenden, da solche Methoden abhängig von der Form des Arrays viele Änderungen erfordern und viel Speicher verbrauchen können.

Der folgende Code zeigt ein Beispiel für diese Methode.

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)

Wir entpacken das Array in eine Liste von Zeilen und geben dann eine einzelne Zeichenkette zurück, indem wir diese Liste mit der Funktion join() verbinden. Wir schreiben diesen String dann in eine CSV-Datei.

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

Verwandter Artikel - NumPy Array