Sha*_*shi 3 python mojibake python-2.7 python-unicode
我的脚本是从csv文件中读取数据,csv文件可以有多个英语或非英语单词串.
有时候文本文件有垃圾字符串,我想识别那些字符串并跳过这些字符串并处理其他字符串
doc = codecs.open(input_text_file, "rb",'utf_8_sig')
fob = csv.DictReader(doc)
for row, entry in enumerate(f):
if is_valid_unicode_str(row['Name']):
process_futher
def is_valid_unicode_str(value):
try:
function
return True
except UnicodeEncodeError:
return false
Run Code Online (Sandbox Code Playgroud)
csv输入:
"Name"
"袋è¢âdcx€¹Ã¤Â¸Å½Ã¦Å“‹å‹们çâ€ÂµÃ¥ÂÂå•â€"
"??????"
"John Dove"
Run Code Online (Sandbox Code Playgroud)
我想玷污函数is_valid_unicode_str(),它将识别垃圾字符串并仅处理有效字符串.
我尝试使用解码但是在解码垃圾字符串时它并没有失败
value.decode('utf8')
Run Code Online (Sandbox Code Playgroud)
预期的输出是带有中文和英文字符串的字符串
你能指导我如何实现过滤有效的Unicode文件的功能?
(ftfy开发人员在这里)
我发现文字可能是"袋袋与朋友们电子商".我不得不猜测人物友,子和商,因为一些不可打印的字符是你问题中字符串中缺少的字符.在猜测时,我从少数几种可能性中选择了最常见的角色.我不知道"dcx"在哪里或为什么会在那里.
谷歌翻译在这里不是很有帮助,但它似乎意味着电子商务.
所以这是你的文字发生的一切:
如果刚出现第一个问题,ftfy.fix_text_encoding
就能解决它.当你试图将字符串放到Stack Overflow上时,剩下的问题可能就发生了.
所以这是我的建议:
ftfy.fix_text_encoding
它. 归档时间: |
|
查看次数: |
1559 次 |
最近记录: |