неожиданные символы в первом столбце моего фрейма данных из CSV-панд (отредактировано снизу) - PullRequest
0 голосов
/ 30 августа 2018

Итак, у меня была таблица Excel, которую я сохранил как файл .csv, и теперь я пытаюсь использовать ее в python. У меня было несколько проблем, но я смог обойти их с помощью параметров в функции pd.read_csv ().

Теперь он печатает фрейм данных, но заголовок первого столбца имеет два тупых символа, прикрепленных к его передней части. «Имя - это то, что оно показывает. Я предполагаю, что это как-то связано с кодировкой, или мой CSV-файл плохо создан.

Это также дает мне ключевую ошибку, когда я пытаюсь установить индекс.

Код:

import pandas as pd

# Create main data frame from .csv

data_file = pd.read_csv("C://...........//8_29_2018.csv", engine='python', sep='delimiter', encoding='latin_1')

df1 = pd.DataFrame(data_file)
#df1.set_index('Request Date')
print(df1.head())

Первоначально я пытался просто путь к файлу, но я получил эту ошибку.

File "pandas\_libs\parsers.pyx", line 539, in pandas._libs.parsers.TextReader.__cinit__
File "pandas\_libs\parsers.pyx", line 767, in pandas._libs.parsers.TextReader._get_header
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Затем я попытался кодировать в utf-8 и получил эту ошибку

File "pandas\_libs\parsers.pyx", line 539, in pandas._libs.parsers.TextReader.__cinit__
File "pandas\_libs\parsers.pyx", line 767, in pandas._libs.parsers.TextReader._get_header
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Не уверен, что попробовать сейчас любая помощь будет здорово. Вот то, что печатает мой pycharm с моим кодом вверху.

CSV Print Out

и вот как выглядит мой CSV-файл при открытии в Excel

enter image description here

красный - это просто имена, которыми я не хочу делиться.

РЕДАКТИРОВАТЬ: Таким образом, мой обновленный код выглядит следующим образом, и я получаю ошибку ключа, когда я пытаюсь установить показанный индекс, который закомментирован. В комментариях ниже есть изображение, которое показывает CSV, открытый в блокноте.

Код:

import pandas as pd
df1 = pd.read_csv("C://Users..........//EXPORTED SPR PDM DATA//8_29_2018.csv", encoding='utf-16')
print(df1.head())

Результат:

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 26 fields in line 6, saw 28
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...