Как мне удалить 'b' \ xef \ xbb \ xbf 'из моего массива таблицы данных? - PullRequest
0 голосов
/ 19 октября 2018

Я новичок с Python и пытаюсь использовать array.

Однако после импорта и отображения я получаю 'b'\xef\xbb\xbf' по первому значению (1,1) и b 'перед всеми значениями int в столбце 1.

Как их можно удалить?Это проблема декодирования / кодирования?

Я использую python 3.5

import numpy as np
import pandas as pd
 x = np.genfromtxt('file.txt',dtype=None)

df = pd.DataFrame(x)

print(df)

Это выводит:

b'\xef\xbb\xbf1850' -0.274
b'1851' -0.271
...

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Эти дополнительные данные - это спецификация, которой на самом деле не должно быть.Это указывает на то, что файл имеет формат UTF-8.Python вызывает эту кодировку utf-8-sig, поэтому используйте это:

x = np.genfromtxt('file.txt', dtype=None, encoding='utf-8-sig')
0 голосов
/ 19 октября 2018

Измените эту строку - x = np.genfromtxt('file.txt',dtype=None) на

x = np.genfromtxt('file.txt',dtype=None, encoding=None)

Это позволит использовать кодировку вашей системы по умолчанию.Если это не приводит к выводу читаемого текста, замените 'None' на 'utf-8'

...