各种符号必然在unicode中有保存,根据unicode代码匹配即可。
1.csv中特殊字符可以在excel的【插入符号】中查找,然后记下该符号的Unicode代码。如■ 这个实心方形的Unicode代码为25A0:
2.需要查询其他的代码可以以此代码为基础搜索,(当然本例用词代码即可):如unicode 25A0 python,可得到在各编码方式的代码,本例网址:
http://www.fileformat.info/info/unicode/char/25a0/index.htm 找python 即:
UTF-8 (hex) | 0xE2 0x96 0xA0 (e296a0) |
UTF-8 (binary) | 11100010:10010110:10100000 |
UTF-16 (hex) | 0x25A0 (25a0) |
UTF-16 (decimal) | 9,632 |
UTF-32 (hex) | 0x000025A0 (25a0) |
UTF-32 (decimal) | 9,632 |
C/C++/Java source code | "\u25A0" |
Python source code | u"\u25A0" |
3.
# -*- coding: utf-8 -*- import re a=u"\u25A0" b=u"高风险" d="%s%s"%(a,b) d1=d.encode(‘GBK‘) #decode 以便匹配文本获取内容,原为utf8 p=re.compile(".*\s*%s\s*.*"%d1) with open ("b.csv","r") as r: for i in r: #print i line=i.strip().split("#")[7] print line if p.search(line): count+=1 print "count =%s"%count
还需要认真的学习编码方式:http://python.jobbole.com/86670/