Je charge un fichier txt contenant un mélange de données flottantes et de chaînes. 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
Ceci est la structure du fichier d'entrée: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Désormais, les données sont importées sous forme de colonne unique. Comment puis-je le diviser, afin de stocker différents éléments séparément (afin que je puisse appeler data[i,j]
)? Et comment puis-je définir un en-tête?
Je voudrais ajouter aux réponses ci-dessus, vous pouvez utiliser directement
fwf signifie lignes formatées à largeur fixe.
la source
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.
la source
vous pouvez utiliser ceci
la source
Si vous n'avez pas d'index affecté aux données et que vous n'êtes pas sûr de l'espacement, vous pouvez utiliser pour laisser les pandas attribuer un index et rechercher plusieurs espaces.
la source
delim_whitespace=True
au lieu du'\s+'
délimiteurVous pouvez faire comme:
(comme, df = pd.read_csv ('F: \ Desktop \ ds \ text.txt', delimiter = "\ t")
la source
Sur la base des dernières modifications apportées aux pandas, vous pouvez utiliser, read_csv, read_table est obsolète:
la source
Vous pouvez importer le fichier texte à l'aide de la commande read_table comme suit:
Le prétraitement devra être effectué après le chargement
la source
Je prends habituellement un regard sur les données d' abord ou tout simplement essayer de l' importer et faire data.head (), si vous voyez que les colonnes sont séparées par \ t alors vous devez spécifier
sep="\t"
autrement,sep = " "
.la source