列中的未知字符

2024-07-08 14:56:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个df:

Allotments   NDWI   TWI
1             2     4
2             3     6

我正试图重命名这些列,但在打印时:

df.columns.values

返回:

['\xef\xbb\xbfAllotments' 'NDWI' 'TWI']

当我看df时,它只是说Allotments。如何删除这些额外的字符?你知道吗

我试过了

df.rename(columns=lambda x: x.strip())

但运气不好。你知道吗


Tags: columnslambdadf字符重命名stripvaluesrename
2条回答

这是一个UTF-8 Byte Order Mark。您可以对内容进行反重新编码以修复此问题。你知道吗

x = ['\xef\xbb\xbfAllotments', 'NDWI', 'TWI']
x = [s.decode("utf-8-sig").encode("utf-8") for s in x]
print(x) # => ['Allotments', 'NDWI', 'TWI']

您可以将encoding='utf-8'作为kwarg传递给^{},以便它正确地解码BOM。你知道吗

相关问题 更多 >

    热门问题