Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

ERRO AO LER UM ARQUIVO CSV

Olá, bom dia! Tentei fazer a importação de outro arquivo que tenho aqui .csv, porém o mesmo apareceu um erro após eu pedir a leitura.

APARECEU A MENSAGEM ABAIXO, o nome do arquivo csv está certo, fiz o upload dele no notebook, tudo correto. o que pode ser?

E também fui até a linha 1602 onde ele aponta que eram esperados 2 campos, mas está tudo normal como os outros.


ParserError Traceback (most recent call last) in () ----> 1 trades = pd.read_csv('WINFUT_1min.csv')

3 frames /usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in read(self, nrows) 2035 def read(self, nrows=None): 2036 try: -> 2037 data = self.reader.read(nrows) 2038 except StopIteration: 2039 if self.first_chunk:

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.read()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.readlow_memory()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.readrows()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.tokenizerows()

pandas/libs/parsers.pyx in pandas.libs.parsers.raise_parser_error()

ParserError: Error tokenizing data. C error: Expected 2 fields in line 1602, saw 3

9 respostas

Rodrigo, tudo bom?

Cola aqui o código que vc está usando para importar o csv, assim a gente consegue ajudar.

Opa beleza, vou colocar aqui o que tentei fazer.

carreguei o arquivo que se chama: WINFUT_1min.csv

Após isso comecei o código:

import pandas as pd

trades = pd.read_csv('WINFUT_1min.csv')


E coloquei para rodar, porém deu o erro listado abaixo:


ParserError Traceback (most recent call last) in () 1 import pandas as pd ----> 2 trades = pd.read_csv('WINFUT_1min.csv')

3 frames /usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in read(self, nrows) 2035 def read(self, nrows=None): 2036 try: -> 2037 data = self.reader.read(nrows) 2038 except StopIteration: 2039 if self.first_chunk:

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.read()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.readlow_memory()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.readrows()

pandas/libs/parsers.pyx in pandas.libs.parsers.TextReader.tokenizerows()

pandas/libs/parsers.pyx in pandas.libs.parsers.raise_parser_error()

ParserError: Error tokenizing data. C error: Expected 2 fields in line 1602, saw 3

Usa assim:

pd.read_csv('WINFUT_1min.csv, encoding='utf8', sep=';')

Verifica se no seu arquivo está usando ';' para separação dos itens.

Sim está usando ; para fazer a separação, porém agora deu outro erro de sintaxe, acredito que tenha ligação com o UTF8

FICOU:

import pandas as pd

trades = pd.read_csv('WINFUT_1min.csv, encoding='utf8', sep=';')

e o erro que apareceu abaixo:

File "", line 1 trades = pd.read_csv('WINFUT_1min.csv, encoding='utf8', sep=';') ^ SyntaxError: invalid syntax

Esqueci do '-'

trades = pd.read_csv('WINFUT_1min.csv, encoding='utf-8')

ainda continua dando o mesmo erro de sintaxe, eu já tinha tentado colocar o '-' antes do 8

ocorre o erro das duas maneiras:

trades = pd.read_csv('WINFUT_1min.csv, encoding='utf-8', sep=';') trades = pd.read_csv('WINFUT_1min.csv, encoding='utf-8')

solução!

Esse arquivo foi disponibilizado no curso? Caso não, pode disponibilizar para fazer um teste aqui?

Não, não é um arquivo da aula é um que estou tentando fazer aqui... Disponibilizo sim, sem problemas, como faço para enviar?

Consegui arrumar, achar o erro aqui... dentro do csv a partir da linha 1602 existiam numeros com virgula, por isso que estava dando erro.