1
resposta

Definir caminho

Boa noite,

Estou com dificuldade para definir o caminho para ler o arquivo TXT. Eu utilizo o SPYDER porém do vez que tento definir o caminho com pd.read_csv da erro.

Abaixo esta o caminho onde esta salvo o meu txt:

import pandas as pd
dados = pd.read_csv('C:/Users/DU/Documents/Alura/temperatura/teste1.txt')

E aqui um pedaço do arquivo:

channel names:            
25/01/2021 - TESTE 5- INVERTIDO ENTRADA - Thermocouple - T1 ENTRADA    25/01/2021 - TESTE 5- INVERTIDO ENTRADA - Thermocouple - T2 SAIDA    25/01/2021 - TESTE 5- INVERTIDO ENTRADA - Thermocouple - T3 ENTRADA EXT.    25/01/2021 - TESTE 5- INVERTIDO ENTRADA - Thermocouple - T4 SAÍDA EXT.
start times:            
25/01/2016 14:10:39,713908    25/01/2016 14:10:39,713908    25/01/2016 14:10:39,713908    25/01/2016 14:10:39,713908
dt:            
0,200000            
data:            
7,333656E+1    7,518111E+1    6,994119E+1    6,825528E+1
7,333656E+1    7,518111E+1    6,994119E+1    6,825528E+1
7,333656E+1    7,518111E+1    6,994119E+1    6,825528E+1
7,331813E+1    7,515591E+1    6,993891E+1    6,824684E+1
7,331813E+1    7,515591E+1    6,993891E+1    6,824684E+1
7,331813E+1    7,515591E+1    6,993891E+1    6,824684E+1
7,330822E+1    7,514402E+1    6,993695E+1    6,824703E+1
7,330822E+1    7,514402E+1    6,993695E+1    6,824703E+1
7,330822E+1    7,514402E+1    6,993695E+1    6,824703E+1
1 resposta

Oii Eduardo! Tudo tranquilinho?

Observe que, no seu arquivo txt, antes dos dados existem 7 linhas contendo algumas informações a mais. Dessa forma, ao fazer a importação do seu arquivo, é importante que você "ignore" essas primeiras linhas. Para ignorar essas linhas, iremos utilizar o parâmetro skiprows do método read_csv.

Além disso, ao importar um arquivo txt ou csv, é importante que você especifique qual é o tipo do separador dos seus dados. No caso do seu arquivo, se observarmos bem, podemos perceber que as colunas estão separadas por 4 espaços. Sendo assim, podemos utilizar o parâmetro sep = " " no momento de importar os dados, para indicar que os dados estão separados por 4 espaços.

import pandas as pd

dados = pd.read_csv('teste.txt', sep = "    ", skiprows = 7, header = None, engine = 'python')

Após essa importação, você terá o seu dataframe. No entanto, os dados do seu dataframe estão no formato de string, o que pode dificultar caso você queira fazer alguma operação matemática com eles. Então, podemos converter eles para o formato float64 da seguinte forma:

for coluna in dados.columns:
    dados[coluna] = dados[coluna].str.replace(',', '.')

dados = dados.astype('float64')

Nesse trecho de código, no laço, estamos substituindo a "," pelo "." de todos os seus dados, porque o python interpreta apenas o ponto como separador de casas decimais. E, em seguida, com o comando dados.astype('float64') estamos convertendo esses dados para o tipo float64.

Espero que isso te ajude! Qualquer dúvida estaremos por aqui :)

Bons estudos!