Pandas создает ParserError на одном компьютере, но не на другом - PullRequest
0 голосов
/ 29 ноября 2018

Вот код, который у меня есть, который отлично работает на компьютере моего друга:

#!/usr/bin/python

import pandas as pd

df = pd.read_csv("report.csv")
df = df.drop("Agent Name", axis=1)
df.to_csv("agent_report_updated.csv")

Вот ошибка, которую я получаю на моем компьютере:

Traceback (most recent call last):
  File "./agent_calls_report.py", line 10, in <module>
    df = pd.read_csv("report.csv")
  File "/usr/lib/python3.7/site-packages/pandas/io/parsers.py", line 678, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/lib/python3.7/site-packages/pandas/io/parsers.py", line 446, in _read
    data = parser.read(nrows)
  File "/usr/lib/python3.7/site-packages/pandas/io/parsers.py", line 1036, in read
    ret = self._engine.read(nrows)
  File "/usr/lib/python3.7/site-packages/pandas/io/parsers.py", line 1848, in read
    data = self._reader.read(nrows)
  File "pandas/_libs/parsers.pyx", line 876, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 891, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas/_libs/parsers.pyx", line 945, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 932, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas/_libs/parsers.pyx", line 2112, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 34 fields in line 3, saw 35

Любая идея, почему это будет работатьна одном компьютере а не на другом?Изменить: я подтвердил, что мы используем одинаковые версии Python (3.7.1) и Pandas, единственное отличие состоит в том, что у него есть Mac, а я на Linux.

1 Ответ

0 голосов
/ 29 ноября 2018

Я считаю, что это проблема с кодировкой

Попробуйте:

import pandas as pd
df = pd.read_csv("report.csv",encoding='cp1252')
df = df.drop("Agent Name", axis=1)
df.to_csv("agent_report_updated.csv")

Существуют и другие варианты кодирования, которые вы можете попробовать utf-8 вместо cp1252. Здесь - список используемых кодировок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...