【问题标题】:How do I remove 'b'\xef\xbb\xbf' from my data table array?如何从我的数据表数组中删除 'b'\xef\xbb\xbf'?
【发布时间】:2019-03-24 05:44:19
【问题描述】:

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

但是,在导入和显示后,我在 col 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
...

【问题讨论】:

标签: python arrays encoding decoding


【解决方案1】:

这个额外的数据是 BOM,它实际上不应该存在。它表示该文件是 UTF-8。 Python 调用这个编码utf-8-sig,所以使用这个:

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

【讨论】:

【解决方案2】:

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

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

这将使它使用您的系统默认编码。如果不输出可读文本,请将 'None' 替换为 'utf-8'

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 2013-09-10
    • 2016-03-22
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多