我是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
...
答案 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')