为了进一步分析文本,我尝试将文本数据过滤为只包含拉丁字符。原始文本源很可能包含韩文字母表。在文本文件中如下所示:
\xe7\xac\xac8\xe4\xbd\x8d ONE PIECE FILM GOLD Blu-ray GOLDEN LIMITED EDITION什么是最快/最简单/最完整的方法来去除这些?我试着编写一个脚本来删除所有\xXX组合,但事实证明,除了许多例外情况,这是可靠的。
有没有办法从utf-8编码文本中删除所有非拉丁字符?
提前谢谢。
解决办法:
import string
textin = b'\xe7\xac\xac8\xe4\xbd\x8d ONE PIECE FILM GOLD Blu-ray GOLDEN LIMITED EDITION'.decode('UTF-8')
outtext = ''
for char in textin:
if char in string.printable:
outtext += char
print(outtext)我的数据由于某种原因被解码成了比特,别问我为什么。:D
发布于 2017-09-05 16:25:43
那这个呢?
import string
intext = b'<your funny characters>'
outtext = ''
for char in intext.decode('utf-8'):
if char in string.ascii_letters:
outtext += char但我不确定这是你想要的。对于给定的文本,输出是空的。如果将string.digits附加到string.ascii_letters,则输出为'11‘。
(编辑以修复代码中的错误,OP指出)
发布于 2017-09-05 15:59:29
在读取csv文件时,尝试按以下方式进行编码:
df=pd.read_csv('D:/sample.csv',encoding="utf-8-sig")https://stackoverflow.com/questions/46059104
复制相似问题