如何从数据表数组中删除“ b” \ xef \ xbb \ xbf?

时间:2018-10-19 10:28:13

标签: python arrays encoding decoding

我是Python的初学者,并尝试使用array

但是,在导入和显示后,我在第1列的所有int值上分别得到第一个值(1,1)和b'的'b'\xef\xbb\xbf'

如何将其删除?它是解码/编码问题吗?

我正在使用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 :(得分:0)

更改此行-x = np.genfromtxt('file.txt',dtype=None)

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

这将使其使用您的系统默认编码。如果无法输出可读文本,则将“ None”替换为“ utf-8”

答案 1 :(得分:0)

这些额外的数据是BOM,实际上并没有该BOM。它指示文件为UTF-8。 Python将这种编码称为utf-8-sig,因此请使用:

x = np.genfromtxt('file.txt', dtype=None, encoding='utf-8-sig')