Sto caricando un file txt che contiene un mix di dati float e stringhe. Voglio memorizzarli in un array dove posso accedere ad ogni elemento. Ora sto solo facendo
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Questa è la struttura del file di input: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Ora i dati sono importati come una colonna unica. Come posso dividerla, in modo da memorizzare diversi elementi separatamente (in modo da poter chiamare data[i,j]
)? E come posso definire un'intestazione?
Si può usare:
data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]
Aggiungi sep=" "
nel tuo codice, lasciando uno spazio vuoto tra le virgolette. Così pandas può rilevare gli spazi tra i valori e ordinare nelle colonne. Le colonne di dati servono a dare un nome alle colonne.
La soluzione di @Pietrovismara è corretta ma vorrei solo aggiungere: piuttosto che avere una linea separata per aggiungere i nomi delle colonne, è possibile farlo da pd.read_csv.
df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])