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

Posted 路随时间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 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/

以上是关于python 正则匹配 csv文件中特殊符号如■高风险 这样的black block的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式特殊符号及用法

JS正则表达式之特殊符号

Python正则表达式

正则表达式替换特殊符号(高分)

学习正则表达式笔记

Python函数篇-正则表达式