Comment charger un fichier tsv dans un DataFrame Pandas?

Je suis nouveau pour python et pandas. J'essaie d'obtenir un fichier tsv chargé dans un pandas DataFrame.

C'est ce que j'essaie et l'erreur que je reçois:

>>> 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:Python27libsite-packagespandascoreframe.py", line 318, in __init__
    raise PandasError('DataFrame constructor not properly called!')
PandasError: DataFrame constructor not properly called!
57
demandé sur ankitom 2012-03-11 10:00:56

4 réponses

La documentation répertorie un .from_csv fonction 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)
73
répondu huon 2016-09-29 05:30:07

, Comme de 17.0 from_csv est découragé.

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

48
répondu ksindi 2016-01-07 15:42:04

Utilisez read_table(filepath). Le séparateur par défaut est tab

46
répondu Wes McKinney 2012-03-11 15:34:23

Ouvrir le fichier, Enregistrer sous .csv et ensuite appliquer df = pd.read_csv('applications.csv', sep=' \ t')

Pour tout autre format, il suffit de changer la balise sep

1
répondu ankit srivastava 2018-02-10 17:28:18