web-dev-qa-db-fra.com

Comment charger un fichier tsv dans un Pandas DataFrame?

Je suis nouveau dans python et les pandas. J'essaie de charger un fichier tsv dans un pandas DataFrame.

C'est ce que j'essaie et l'erreur que j'obtiens:

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))

Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__
    raise PandasError('DataFrame constructor not properly called!')
PandasError: DataFrame constructor not properly called!
88
screechOwl

Remarque : à partir de 17.0 from_csv est découragé: utilisez pd.read_csv au lieu

La documentation répertorie une fonction . From_csv qui semble faire ce que vous voulez:

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t')

Si vous avez un en-tête, vous pouvez passer header=0.

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t', header=0)
103
huon

À partir de 17.0 from_csv est découragé.

Utilisez pd.read_csv(fpath, sep='\t') ou pd.read_table(fpath).

70
ksindi

Utilisez read_table(filepath). Le séparateur par défaut est l'onglet

52
Wes McKinney

ouvrir le fichier, enregistrer au format .csv puis appliquer

df = pd.read_csv('apps.csv', sep='\t')

pour tout autre format également, il suffit de changer la balise sep

5
ankit srivastava

Essaye ça

df = pd.read_csv("rating-data.tsv",sep='\t')
df.head()

enter image description here

Vous devez en fait corriger le paramètre sep .

0
Muhammad Mohsin