Écrire un tableau dans un fichier texte en Python

Isaac Tony 30 janvier 2023
  1. Écrire un tableau dans un fichier texte à l’aide des fonctions open() et close() en Python
  2. Écrire un tableau dans un fichier texte à l’aide du gestionnaire de contenu en Python
Écrire un tableau dans un fichier texte en Python

La lecture et l’écriture de fichiers est un aspect important de la création de programmes utilisés par de nombreux utilisateurs. Python propose une gamme de méthodes pouvant être utilisées pour la gestion des ressources. Ces méthodes peuvent être légèrement différentes selon le format du fichier et l’opération en cours d’exécution.

Outre la manière traditionnelle de créer des fichiers en cliquant sur des boutons, nous pouvons également créer des fichiers à l’aide de fonctions intégrées telles que la fonction open(). Veuillez noter que la fonction open() ne créera un fichier que s’il n’existe pas ; sinon, il est intrinsèquement utilisé pour ouvrir des fichiers.

Écrire un tableau dans un fichier texte à l’aide des fonctions open() et close() en Python

Étant donné que la fonction open() n’est pas utilisée dans l’isolement, en la combinant avec d’autres fonctions, nous pouvons effectuer encore plus d’opérations sur les fichiers, telles que l’écriture et la modification ou l’écrasement de fichiers. Ces fonctions incluent les fonctions write() et close() les fonctions. À l’aide de ces fonctions, nous allons créer un tableau à l’aide de NumPy et l’écrire dans un fichier texte à l’aide de la fonction d’écriture, comme indiqué dans le programme ci-dessous.

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

Production :

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

Nous avons créé un fichier texte nommé sample.txt en utilisant la fonction open en mode écriture dans l’exemple ci-dessus. Nous avons ensuite procédé à la conversion du tableau au format chaîne avant d’écrire son contenu dans le fichier texte à l’aide de la fonction d’écriture. A l’aide des fonctions open(), nous avons ouvert le contenu du fichier texte en mode lecture. Le contenu du fichier texte est affiché dans le terminal et peut également être visualisé en ouvrant physiquement le fichier texte.

De même, nous pouvons également créer un tableau multidimensionnel et l’enregistrer dans un fichier texte, comme indiqué ci-dessous.

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

Production :

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

Écrire un tableau dans un fichier texte à l’aide du gestionnaire de contenu en Python

Alternativement, nous pouvons utiliser le gestionnaire de contexte pour écrire un tableau dans un fichier texte. Contrairement à la fonction open(), où nous devons fermer les fichiers une fois que nous les avons ouverts à l’aide de la fonction close(), le gestionnaire de contenu nous permet d’ouvrir et de fermer les fichiers précisément quand nous en avons besoin. En Python, l’utilisation du gestionnaire de contexte est considérée comme une meilleure pratique lors de la gestion des ressources au lieu d’utiliser les fonctions open() et close(). Le gestionnaire de contexte peut être implémenté à l’aide du mot-clé with illustré ci-dessous.

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

Production :

[23 25 27 29 30]

Dans l’exemple ci-dessus, le gestionnaire de contexte ouvre le fichier texte sample.txt, et comme le fichier n’existe pas, le gestionnaire de contexte le crée. Dans le cadre du gestionnaire de contexte, nous avons écrit le tableau dans le fichier texte lors de sa conversion en chaîne. Une fois que nous avons désactivé l’indentation, le gestionnaire de contexte ferme automatiquement le fichier. De même, comme indiqué ci-dessous, nous pouvons également écrire des tableaux multidimensionnels dans un fichier texte à l’aide du gestionnaire de contexte.

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

Production :

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

NumPy est une bibliothèque scientifique qui offre une gamme de fonctions pour travailler avec des tableaux. Nous pouvons enregistrer un tableau dans un fichier texte en utilisant la fonction numpy.savetxt(). La fonction accepte plusieurs paramètres, dont le nom du fichier, le format, le format d’encodage, les délimiteurs séparant les colonnes, l’en-tête, le pied de page et les commentaires accompagnant le fichier.

En plus de cela la fonction NumPy propose également la fonction numpy.loadtxt() pour charger un fichier texte.

Nous pouvons enregistrer un tableau dans un fichier texte et le charger à l’aide de ces deux fonctions, comme indiqué dans le code ci-dessous.

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)

Production :

[23 24 25 26 28]

Comme indiqué ci-dessous, nous pouvons également utiliser ces fonctions pour enregistrer des tableaux multidimensionnels dans un fichier texte.

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)

Production :

[[23 24 25 26 28]
 [34 45 46 49 48]]
Auteur: 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

Article connexe - Python Array