python 正则匹配 csv文件中特殊符号如■高风险 这样的black block

各种符号必然在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 codeu"\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/

转载于:https://www.cnblogs.com/koujiaodahan/p/8410409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值