2017-06-30 3 views
0

fichier est utility.datComment spécifier correctement dtype str?

Name D L J H E M RF AF 
line1 150 4.5 2.0 150 2 Copper 0.8 true 
line2 140 4.5 2.0 140 2 Aluminium 0.8 true 

Mon script est script.py

import numpy 
configName = "utility.dat" 
lines = numpy.genfromtxt(configName, 
         skip_header=1, 
         dtype=(str, float, float, float, float, float, str, float, bool)) 

print(lines[0]) 

Mon résultat est

('', 150., 4.5, 2., 150., 2., '', 0.8, True) 

Process finished with exit code 0 

Maintenant, comment puis-je spécifier le DTYPE correctement? Parce que je ne veux pas donner une taille comme "S12" ou quelque chose parce que je ne sais pas comment cela peut arriver. Je ne veux pas non plus utiliser dtype = None.

Une autre solution?

+0

Donc, vous connaissez une solution, même si vous ne voulez pas l'utiliser. Un autre est 'dtype = None'. – hpaulj

+0

Je ne veux pas non plus utiliser 'dtype = None' est-il un autre moyen? – Dean

+0

Ecrivez votre propre chargeur csv. – hpaulj

Répondre

0

Depuis que je ne suis pas capable de le faire via NumPy je suis passé à Pandas et cela a fonctionné pour moi. Je suis novice en Python et je suis toujours en train d'apprendre, mais j'ai l'idée que si je veux avoir une table de données avec Float, String, Integers, je ferais mieux d'utiliser Pandas et si j'ai une table pure Float et entiers je ferais mieux d'utiliser NumPy. Pour l'instant, les Pandas travaillaient pour moi, et ainsi de suite. Merci