设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 23371|回复: 5
打印 上一主题 下一主题

python分析十九大的编码问题

[复制链接]

1

主题

0

好友

7

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-10-20 10:34:58 |只看该作者 |倒序浏览
txt编码格式为utf-8,分词后列表内的字符是Unicode,然后忽略词的时候就会报错
请问该如何对列表中的Unicode编码转换
示例: [u'\ufeff', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u'\u5927\u4f1a', u'\u7684']
import jieba
with open(r'C:\Users\wu\Desktop\report.txt') as f:
    s = f.read()
print s
word_list = list(jieba.cut(s))
print'分词总数:', len(word_list)
print'示例:', word_list[:20]

# 2.统计词频
from collections import Counter
words_count = Counter(word_list)
most_words = words_count.most_common(128)
print(most_words)

# 去除符号和助词、介词等
# 这一步我们做了人工干预,手动选出一些忽略词
most_words = [words for words in most_words if words[0] not in ' ,、。“”()!;的和是在要为以把了对中到有上不等更二从大\n']
print(most_words)
分词总数: 15358
示例: [u'\ufeff', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u'\u5927\u4f1a', u'\u7684', u'\u4e3b\u9898', u'\u662f', u'\uff1a', u'\u4e0d\u5fd8', u'\u521d\u5fc3', u'\uff0c', u'\u7262\u8bb0', u'\u4f7f\u547d', u'\uff0c', u'\u9ad8\u4e3e']
Traceback (most recent call last):
  File "C:/Users/wu/Desktop/python_practice/cross_in/report_19.py", line 20, in <module>
    most_words = [words for words in most_words if words[0] not in ' ,、。“”()!;的和是在要为以把了对中到有上不等更二从大\n']
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 1: ordinal not in range(128)






回复

使用道具 举报

1

主题

0

好友

7

积分

新手上路

Rank: 1

沙发
发表于 2017-10-20 10:38:01 |只看该作者
word_list=str(word_list).replace('u\'', '\'')
word_list= word_list.decode("unicode-escape")
print word_list

暂时这么处理的,还是有点问题
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2017-10-20 16:45:30 |只看该作者
python小新 发表于 2017-10-20 10:38
word_list=str(word_list).replace('u\'', '\'')
word_list= word_list.decode("unicode-escape")
print wo ...

系统和版本不同,编码会不一样
如果cut出来是unicode的话,那你试试报错那句里面后面字忽略字符前面加上u,就是 u",、。……"这样

话说回来,这步其实手动处理下亦可,最初我就是手动删了下,因为没几个词
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

地板
发表于 2017-10-21 14:48:37 |只看该作者
请问我按照教程写好程序后一运行就报错是怎么回事?


屏幕截图(28).png (254.75 KB, 下载次数: 397)

请问我按照教程写好程序后一运行就报错是怎么回事?

请问我按照教程写好程序后一运行就报错是怎么回事?

屏幕截图(30).png (340.65 KB, 下载次数: 391)

之后我按照百度到的解决方案修改了一下,程序可以运行但是什么结果也没有(选中的黑色部分是网上的解决方法 ...

之后我按照百度到的解决方案修改了一下,程序可以运行但是什么结果也没有(选中的黑色部分是网上的解决方法 ...

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2017-10-22 00:07:39 |只看该作者
qaq233 发表于 2017-10-21 14:48
请问我按照教程写好程序后一运行就报错是怎么回事?

放在不带中文的文件夹里试试
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

6#
发表于 2017-10-25 08:53:21 |只看该作者
你好,问下,你的imread Worldcloud 库怎么安装上的? 一直提示类似这样的错误:也装过visualcppbuildtools_full.exe控件了。
Command "d:\programs\python\python35-32\python.exe -u -c "import setuptools, tok
enize;__file__='C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-build-hspj6bb_\\i
mread\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().repla
ce('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --reco
rd C:\Users\ADMINI~1\AppData\Local\Temp\pip-ov2f5vii-record\install-record.txt -
-single-version-externally-managed --compile" failed with error code 1 in C:\Use
rs\ADMINI~1\AppData\Local\Temp\pip-build-hspj6bb_\imread\
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-1 12:28 , Processed in 0.025327 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部