Charger les données de txt avec des pandas

Je charge un fichier txt contenant un mélange de données float et string. Je veux les stocker dans un tableau où je peux accéder à chaque élément. Maintenant, je fais juste

import pandas as pd

data = pd.read_csv('output_list.txt', header = None)
print data

C'est la structure du fichier d'entrée: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt.

Maintenant, les données sont importées en tant que colonne unique. Comment puis-je le diviser, afin de stocker différents éléments séparément (pour que je puisse appeler data[i,j])? Et comment puis-je définir un en-tête?

54
demandé sur albus_c 2014-02-04 11:48:58

5 réponses

Vous pouvez utiliser:

data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]

Ajoutez sep=" " dans votre code, en laissant un espace vide entre les guillemets. Ainsi, les pandas peuvent détecter les espaces entre les valeurs et trier dans les colonnes. Colonnes de données est pour nommer vos colonnes.

75
répondu pietrovismara 2017-08-03 10:07:28

Je voudrais ajouter aux réponses ci-dessus, vous pouvez directement utiliser

df = pd.read_fwf('output_list.txt')

Fwf signifie lignes formatées à Largeur fixe.

25
répondu Meenakshi Ravisankar 2017-08-13 06:03:43

La solution de@Pietrovismara est correcte mais je voudrais juste ajouter: plutôt que d'avoir une ligne séparée pour ajouter des noms de colonnes, il est possible de le faire à partir de pd.read_csv.

df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])
19
répondu Sam Perry 2016-08-04 03:25:02

Vous pouvez utiliser ceci

import pandas as pd
dataset=pd.read_csv("filepath.txt",delimiter="\t")
11
répondu ramakrishnareddy 2017-10-01 13:14:41

Vous pouvez faire comme:

import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")

(comme, df = pd.read_csv ('F:\Desktop\ds\text.txt', delimiter = "\t")

1
répondu tulsi kumar 2018-06-27 17:40:10