我尝试过滤textdata只包含拉丁字符,以便进一步进行文本分析。原始文本源很可能包含韩文字母。这在文本文件中显示如下:
\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
答案 0 :(得分:0)
怎么样:
import string
intext = b'<your funny characters>'
outtext = ''
for char in intext.decode('utf-8'):
if char in string.ascii_letters:
outtext += char
我不确定这是你想要的。对于给定的intext,outtext为空。如果将string.digits追加到string.ascii_letters,则outtext为'11'。
(编辑修复代码中的错误,由OP指出)
答案 1 :(得分:-1)
在阅读csv文件时,请尝试进行以下编码:
df=pd.read_csv('D:/sample.csv',encoding="utf-8-sig")