Estou carregando um arquivo txt contendo uma mistura de dados flutuantes e de string. Eu quero armazená-los em uma matriz onde eu possa acessar cada elemento. Agora estou apenas fazendo
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Esta é a estrutura do arquivo de entrada: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Agora os dados são importados como uma coluna exclusiva. Como posso dividi-lo, para armazenar diferentes elementos separadamente (para que eu possa ligar data[i,j]
)? E como posso definir um cabeçalho?
Gostaria de adicionar às respostas acima, você pode usar diretamente
fwf significa linhas formatadas em largura fixa.
fonte
A solução do @ Pietrovismara está correta, mas eu gostaria de adicionar: em vez de ter uma linha separada para adicionar nomes de colunas, é possível fazer isso em pd.read_csv.
fonte
você pode usar isso
fonte
Se você não tiver um índice atribuído aos dados e não tiver certeza de qual é o espaçamento, poderá usar para permitir que os pandas atribuam um índice e procurem vários espaços.
fonte
delim_whitespace=True
em vez do'\s+'
delimitadorVocê pode fazer o seguinte:
(como, df = pd.read_csv ('F: \ Desktop \ ds \ text.txt', delimitador = "\ t")
fonte
Com base nas alterações mais recentes dos pandas, você pode usar, read_csv, read_table está obsoleto:
fonte
Você pode importar o arquivo de texto usando o comando read_table da seguinte maneira:
O pré-processamento precisará ser feito após o carregamento
fonte
Normalmente, primeiro dou uma olhada nos dados ou apenas tento importá-los e fazer data.head (), se você vir que as colunas estão separadas por \ t, deverá especificar o
sep="\t"
contráriosep = " "
,.fonte