Utilisation genfromtxt aux données csv d'importation avec les valeurs manquantes dans numpy
-
04-10-2019 - |
Question
J'ai un fichier csv qui ressemble à quelque chose comme ça (fichier réel a beaucoup plus de colonnes et de lignes):
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
16
Dites le nom du fichier est info.csv Si je tente d'importer cela en utilisant
data = numpy.genfromtxt('info.csv', delimiter = ',')
alors je reçois l'erreur suivante:
ValueError: Some errors were detected ! Line #4 (got 1 columns instead of 5)
Si j'utilise,
data = numpy.genfromtxt('info.csv', delimiter = ',', skip_footer = 1)
les deux lignes avec 16
de données et avec 11, 12, 13, 14, 15
de données sont ignorées. Je ne comprends pas pourquoi la ligne avec 11, 12, 13, 14, 15
est ignorée. Je vous serais reconnaissant toute aide sur la façon dont je peux utiliser de façon appropriée le genfromtxt
d'importer trois premières lignes dans le fichier ci-dessus.
Merci
La solution
si vous pouvez ignorer le 16 à la fin de l'essai de fichier en utilisant le
invalid_raise
( bool, en option ) paramètre
si elle est définie sur False elle ignore toutes les lignes incomplètes sans lancer une exception
voir ici (son dernier paramètre avant les exemples) http://docs.scipy.org/doc/numpy/reference /generated/numpy.genfromtxt.html
Autres conseils
La commande filling_values
m'a aussi aidé. Je l'ai mis à zéro. Ainsi, chaque valeur vide est mis à zéro. Il n'a probablement pas toujours sens, mais peut-être vous aider.