Je recommanderais la read_csv
fonction de la pandas
bibliothèque:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Cela donne un pandas DataFrame - permettant de nombreuses fonctions de manipulation de données utiles qui ne sont pas directement disponibles avec les tableaux d'enregistrement numpy .
DataFrame est une structure de données étiquetée en 2 dimensions avec des colonnes de types potentiellement différents. Vous pouvez y penser comme une feuille de calcul ou un tableau SQL ...
Je recommanderais également genfromtxt
. Cependant, puisque la question demande un tableau d'enregistrement , par opposition à un tableau normal, le dtype=None
paramètre doit être ajouté à l' genfromtxt
appel:
Compte tenu d' un fichier d'entrée, myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
donne un tableau:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
et
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
donne un tableau d'enregistrement:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Cela a l'avantage que le fichier avec plusieurs types de données (y compris les chaînes) peut être facilement importé .