Écrire NumPy Array en CSV en Python

Manav Narula 30 janvier 2023
  1. Utilisez un DataFrame pandas pour enregistrer un tableau NumPy dans un fichier CSV
  2. Utilisez la fonction numpy.savetxt() pour enregistrer un tableau NumPy dans un fichier CSV
  3. Utilisez la fonction tofile() pour enregistrer un tableau NumPy dans un fichier CSV
  4. Utiliser des méthodes de gestion de fichiers pour enregistrer un tableau NumPy dans un fichier CSV
Écrire NumPy Array en CSV en Python

Dans ce didacticiel, nous expliquerons comment stocker un tableau numpy dans un fichier CSV.

Utilisez un DataFrame pandas pour enregistrer un tableau NumPy dans un fichier CSV

Dans cette méthode, nous allons d’abord enregistrer le tableau dans un DataFrame pandas puis convertir ce DataFrame en fichier CSV.

Le code suivant montre comment nous pouvons y parvenir.

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

La fonction pd.DataFrame stocke le tableau dans un DataFrame, et nous l’exportons simplement dans un fichier CSV en utilisant la fonction to_csv().

Utilisez la fonction numpy.savetxt() pour enregistrer un tableau NumPy dans un fichier CSV

La fonction savetxt() du module numpy permet de sauvegarder un tableau dans un fichier texte. Nous pouvons spécifier le format de fichier, le caractère de délimitation et de nombreux autres arguments pour obtenir le résultat final dans le format souhaité.

Dans le code suivant, nous enregistrons un tableau dans un fichier CSV à l’aide de cette fonction.

import numpy as np

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

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

Utilisez la fonction tofile() pour enregistrer un tableau NumPy dans un fichier CSV

La fonction tofile() nous permet d’écrire un tableau dans un fichier texte ou binaire. Cependant, cette méthode présente de nombreux inconvénients. Il s’agit plutôt d’une fonction pratique pour le stockage rapide des données de la baie. La précision des informations est perdue car elle stocke tout sur une seule ligne, cette méthode n’est donc pas un bon choix pour les fichiers destinés à archiver des données. Certains de ces problèmes peuvent être surmontés en sortant les données sous forme de fichiers texte au détriment de la vitesse et de la taille du fichier.

Le code suivant illustre l’utilisation de cette fonction.

import numpy as np

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

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

Utiliser des méthodes de gestion de fichiers pour enregistrer un tableau NumPy dans un fichier CSV

Nous pouvons utiliser des méthodes de gestion de fichiers traditionnelles, mais il n’est pas conseillé de les utiliser car de telles méthodes nécessitent de nombreuses modifications en fonction de la forme du tableau et peuvent consommer beaucoup de mémoire.

Le code suivant montre un exemple de cette méthode.

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)

Nous décompressons le tableau en une liste de lignes puis retournons une seule chaîne en joignant cette liste à l’aide de la fonction join(). Nous écrivons ensuite cette chaîne dans un fichier CSV.

Auteur: Manav Narula
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

Article connexe - NumPy Array