J'essaie de lire les données séparées par des tabulations dans des pandas:
test.txt:
col_a\tcol_b\tcol_c\tcol_d
4\t3\t2\t1
4\t3\t2\t1
J'importe test.txt comme suit:
pd.read_csv('test.txt',sep='\t')
La trame de données résultante a 1 colonne. Le\t n'est pas reconnu comme onglet.
Si je remplace\t par un "onglet clavier", le fichier est analysé correctement. J'ai également essayé de remplacer '\ t par\t et/t et je n'ai pas eu de chance.
Merci d'avance pour votre aide.
Omar
PS: Capture d'écran http://imgur.com/a/nXvW
Le \t
dans votre fichier est une barre oblique inverse réelle suivie d'un t
. Ce n'est pas un tab
. Vous allez devoir utiliser des caractères d'échappement sur votre paramètre sep
.
pd.read_csv('test.txt', sep=r'\\t', engine='python')
col_a col_b col_c col_d
0 4 3 2 1
1 4 3 2 1
Ou
pd.read_csv('test.txt', sep='\\\\t', engine='python')
col_a col_b col_c col_d
0 4 3 2 1
1 4 3 2 1
Le r
indique qu'il s'agit d'une chaîne brute et les caractères spéciaux doivent être interprétés comme le caractère brut. C'est pourquoi dans une solution, j'ai indiqué que la chaîne était brute et n'avait que deux barres obliques inverses. Dans l'autre, j'ai dû échapper à chaque barre oblique inverse avec une autre barre oblique inverse, laissant quatre barres obliques inverses.