使用python调用jieba进行中文分词: https://github.com/fxsjy/jieba
根据官方指导完成安装,copy demo,出现问题:
# encoding=utf-8
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
报错:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' in position 12: ordinal not in range(128)
之前就知道python处理中文比较麻烦,通过报错可知 中文在 utf-8和unicode转换中出现问题
通过官方文档,可知:
“jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator ”
OK,下面就是iter这个generator:
# encoding=utf-8
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
seg_list_tolist = list(seg_list)
for word in seg_list_tolist:
sys.stdout.write(word.encode('utf-8') + ',')
关键就在于word.encode('utf-8'),这个for循环将generator中每个词逐个encode为utf-8,然后print即可。
应该有更好的方法encode,这里只注重有结果,
我对python不熟悉,不知是否有更好的方法。
本文介绍使用Python调用jieba库进行中文分词的过程及解决遇到的编码问题的方法。通过调整编码方式,成功实现了对中文文本的分词,并打印出分词结果。

被折叠的 条评论
为什么被折叠?



