web-dev-qa-db-fra.com

python pandas ne lit pas la première colonne du fichier csv

J'ai un simple fichier csv à 2 colonnes appelé st1.csv:

GRID    St1  
1457    614  
1458    657  
1459    679  
1460    732  
1461    754  
1462    811  
1463    748  

Cependant, lorsque j'essaie de lire le fichier csv, la première colonne n'est pas chargée:

a = pandas.DataFrame.from_csv('st1.csv')  
a.columns

sorties:

 Index([u'ST1'], dtype=object)

Pourquoi la première colonne n'est-elle pas lue?

26
user308827

À en juger par vos données, il semble que le délimiteur que vous utilisez est un.

Essayez ce qui suit:

a = pandas.DataFrame.from_csv('st1.csv', sep=' ')

L'autre problème est qu'il suppose que votre première colonne est un index, que nous pouvons également désactiver:

a = pandas.DataFrame.from_csv('st1.csv', index_col=None)
42
Ewan

Basé sur une documentation qui compare read_csv et from_csv, cela montre qu'il est possible de mettre index_col = None. J'ai essayé ci-dessous et cela a fonctionné:

DataFrame.from_csv('st1.csv', index_col=None);

Cela suppose que les données sont séparées par des virgules.

Veuillez vérifier le lien ci-dessous

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_csv.html

6
Muzaffar Omer