Schreiben ein Array in eine Textdatei in Python

Isaac Tony 21 Dezember 2022
  1. Schreiben ein Array in eine Textdatei mit den Funktionen open() und close() in Python
  2. Schreiben ein Array in eine Textdatei mit dem Content Manager in Python
Schreiben ein Array in eine Textdatei in Python

Das Lesen und Schreiben von Dateien ist ein wichtiger Aspekt beim Erstellen von Programmen, die von vielen Benutzern verwendet werden. Python bietet eine Reihe von Methoden, die für die Ressourcenhandhabung verwendet werden können. Diese Methoden können je nach Dateiformat und durchgeführtem Vorgang leicht unterschiedlich sein.

Neben der traditionellen Art, Dateien durch Klicken auf Schaltflächen zu erstellen, können wir Dateien auch mit integrierten Funktionen wie der Funktion open() erstellen. Bitte beachten Sie, dass die Funktion open() nur dann eine Datei erstellt, wenn sie nicht existiert; Andernfalls wird es automatisch zum Öffnen von Dateien verwendet.

Schreiben ein Array in eine Textdatei mit den Funktionen open() und close() in Python

Da die Funktion open() nicht isoliert verwendet wird und mit anderen Funktionen kombiniert wird, können wir noch mehr Dateioperationen wie das Schreiben und Ändern oder Überschreiben von Dateien ausführen. Zu diesen Funktionen gehören die Funktionen write() und close() Funktionen. Mit diesen Funktionen erstellen wir ein Array mit NumPy und schreiben es mit der Write-Funktion in eine Textdatei, wie im folgenden Programm gezeigt.

import numpy as np

sample_list = [23, 22, 24, 25]
new_array = np.array(sample_list)

# Displaying the array

file = open("sample.txt", "w+")

# Saving the array in a text file
content = str(new_array)
file.write(content)
file.close()

# Displaying the contents of the text file
file = open("sample.txt", "r")
content = file.read()

print("Array contents in sample.txt: ", content)
file.close()

Ausgabe:

Array contents in text_sample.txt:  [23 22 24 25]

Wir haben im obigen Beispiel eine Textdatei mit dem Namen sample.txt mit der Open-Funktion im Schreibmodus erstellt. Anschließend haben wir das Array in das String-Format konvertiert, bevor wir seinen Inhalt mit der write-Funktion in die Textdatei geschrieben haben. Mit den open()-Funktionen haben wir den Inhalt der Textdatei im Lesemodus geöffnet. Der Inhalt der Textdatei wird im Terminal angezeigt und kann auch durch physisches Öffnen der Textdatei angezeigt werden.

Auf ähnliche Weise können wir auch ein mehrdimensionales Array erstellen und es wie unten gezeigt in einer Textdatei speichern.

import numpy as np

sample_list = [[23, 22, 24, 25], [13, 14, 15, 19]]
new_array = np.array(sample_list)

# Displaying the array

file = open("sample.txt", "w+")

# Saving the array in a text file
content = str(new_array)
file.write(content)
file.close()

# Displaying the contents of the text file
file = open("sample.txt", "r")
content = file.read()

print("Array contents in sample.txt: ", content)
file.close()

Ausgabe:

Array contents in sample.txt:  [[23 22 24 25]
[13 14 15 19]]

Schreiben ein Array in eine Textdatei mit dem Content Manager in Python

Alternativ können wir den Kontextmanager verwenden, um ein Array in eine Textdatei zu schreiben. Im Gegensatz zur open()-Funktion, bei der wir die Dateien schließen müssen, nachdem wir sie mit der close()-Funktion geöffnet haben, erlaubt uns der Content Manager, Dateien genau dann zu öffnen und zu schließen, wenn wir sie brauchen. In Python wird die Verwendung des Kontextmanagers als bessere Vorgehensweise beim Verwalten von Ressourcen angesehen, anstatt die Funktionen open() und close() zu verwenden. Der Kontextmanager kann mit dem unten gezeigten Schlüsselwort with implementiert werden.

import numpy as np

new_list = [23, 25, 27, 29, 30]
new_array = np.array(new_list)
print(new_array)

with open("sample.txt", "w+") as f:
    data = f.read()
    f.write(str(new_array))

Ausgabe:

[23 25 27 29 30]

Im obigen Beispiel öffnet der Kontextmanager die Textdatei sample.txt, und da die Datei nicht existiert, erstellt der Kontextmanager sie. Im Rahmen des Kontextmanagers haben wir das Array beim Konvertieren in einen String in die Textdatei geschrieben. Sobald wir die Einrückung ablehnen, schließt der Kontextmanager die Datei automatisch. In ähnlicher Weise können wir, wie unten gezeigt, mithilfe des Kontextmanagers auch mehrdimensionale Arrays in eine Textdatei schreiben.

import numpy as np

new_list = [[23, 25, 27, 29], [30, 31, 32, 34]]
new_array = np.array(new_list)
print(new_array)

with open("sample.txt", "w+") as f:
    data = f.read()
    f.write(str(new_array))

Ausgabe:

[[23 25 27 29]
[30 31 32 34]]

NumPy ist eine wissenschaftliche Bibliothek, die eine Reihe von Funktionen für die Arbeit mit Arrays bietet. Mit der Funktion numpy.savetxt() können wir ein Array in einer Textdatei speichern. Die Funktion akzeptiert mehrere Parameter, darunter den Namen der Datei, das Format, das Kodierungsformat, Trennzeichen, die die Spalten trennen, die Kopfzeile, die Fußzeile und die Datei begleitende Kommentare.

Zusätzlich bietet die NumPy-Funktion auch die Funktion numpy.loadtxt() zum Laden einer Textdatei.

Wir können ein Array in einer Textdatei speichern und es mit diesen beiden Funktionen laden, wie im folgenden Code gezeigt.

import numpy as np

new_list = [23, 24, 25, 26, 28]
new_array = np.array(new_list)
print(new_array)

np.savetxt("sample.txt", new_array, delimiter=", ")

content = np.loadtxt("sample.txt")
print(content)

Ausgabe:

[23 24 25 26 28]

Wie unten gezeigt, können wir diese Funktionen auch verwenden, um mehrdimensionale Arrays in einer Textdatei zu speichern.

import numpy as np

new_list = [[23, 24, 25, 26, 28], [34, 45, 46, 49, 48]]
new_array = np.array(new_list)
print(new_array)

np.savetxt("sample7.txt", new_array, delimiter=", ")

content = np.loadtxt("sample7.txt")
print(content)

Ausgabe:

[[23 24 25 26 28]
 [34 45 46 49 48]]
Autor: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Verwandter Artikel - Python Array