编码纠正 glob logging replace re.sub 2016.05.30回顾

原创 2016年05月31日 13:43:05

昨天主要就是写一个脚本去掉征信中的某些敏感字段,这个事情可以分为两步,第一步是找到某个时间点之前的客户的征信报告,几个表联合查询,可以找到当时解析的filename,但是把很多filename放在一个文件夹的时候可能会出现重名的情况,所以move征信报告的时候,可能不是move的当时申请贷款对应的那一份征信报告,所以如果想找到当初那笔贷款所用到的征信报告很难,而且很难准确,而且一个客户有可能三笔贷款,涉及到3次征信报告,那岂不是要弄三份,所以基于这些问题,不需要完全精确,就好比估算一样,任何事情都有时间成本,有些时候估算便可,不需要精确计算。
然后第二步就是把找到的征信报告去掉敏感字段,我想到的有两个方法,第一个是用纯正则表达式的方法,如果正则表达式写得完全正确了(不多匹配不少匹配,应该会经过多次调试),应该是最优的方法,但是文本结构不尽相同,具体的只有边写边调试才能发现困难,或者是解决问题。这个写正则的难点是要匹配中文,涉及很多\n \t等特殊字符,可能需要strip()去掉,正则应该可以写,但是写出来偏复杂,需要多次调试,第二个方法是我去数据库查那些解析出来的信息,然后在原来的html文本中去掉这些解析出来的信息,但是由于第一步所说的move征信的时候存在的问题,所以这个方法可能存在一些小的遗漏,因为不是当时的那份报告,或者也有可能出现,被先前匹配字串删掉主体,残留下一些诸如重庆市这样的文字,我突然想到还有一种方法,这是基于我之前的解析程序,就是对于找到的html,现跑我之前的解析程序,然后用配置文件的方法,找对应的字段,找到字段后,用string.replace()去删除掉,这个方法应该也可以比较完美的解决,但是消耗比较大,要动用以前那一大套解析程序!
目前采用第二种方法解决的问题。
excel复制html源代码进去,居然可以解析,我瞎了!查了下一个单元格应该是可以放下2的15次方个字符,至于这个和字节的关系我没深究,反正放不下html源代码数据。
还接触了一个类似于windows中查找文件的模块,叫glob。
logging模块除了info、warning、debug还有error和critical。
python删除字符串的子串,应该是用替换完成string.replace(‘欲替换的子串’,’替换内容’),还有就是模式替换,用到re模块,re.sub(字符串,模式,’替换内容’)。
最后我还研究了下编码的问题,我发现我上周五的理解是不正确的,昨天的研究就是,代码编码是什么,所写的字符串就什么编码,至于行首的coding:utf-8,这是给解释器说明的,解释器知道编码是什么,如果不一致,比如代码编写用utf-8,其中有某些字符串,而行首是#coding:cp936,则解释器能解释通代码就不会报错(这个检测就好比把代码全转成cp936,如果能转到cp936对应的乱码字符就不会出错,如出现?等通配符不能解析的情况会报错<包括注释>,通不过编译),也就是说只要能通过编译了,输出是什么编码就根据你编写代码所用到的编码来确定;写入windows的文件名必须是gbk编码的,不是说告诉程序写入这样一个文件名的指令,程序就能自动实现转换的(上周就是错在这里),gbk字符串+utf-8字符串,是一个混合型的字符串,格式化unicode变量格式化字符串整个字符串会变成unicode!
psycopg2的cur.fetchall()结果是二维的,list里面套tuple,一个list是一条record,tuple里面是分别的列!
差不多以上!

相关文章推荐

Python的替换函数——strip(),replace()和re.sub()

strip(),replace()和re.sub(),下面来讲讲这三个函数的用法
  • zcmlimi
  • zcmlimi
  • 2015年08月17日 00:18
  • 33107

关于python 的re.sub用法

许多资料的介绍如下: re.sub   re.sub用于替换字符串中的匹配项。下面一个例子将字符串中的空格 ' ' 替换成 '-' :  import re    text = ...

re.sub 功能

re.sub的功能 re是regular expression的所写,表示正则表达式 sub是substitute的所写,表示替换; re.sub是个正则表达式方面的函数,用来实现通过正则表达式...

python常用的几种字符串替换函数strip、replace、sub

今天在做一道今年秋季招聘题目的时候遇上了一个替换的问题,题目看起来好长好复杂啊,真的,一时间,我看了好几遍也没看懂,其实实质很简单,就是需要把给定的一个字符串里面的指定字符替换成一些指定的内容就行了,...

【整理】详解Python中re.sub

【背景】 Python中的正则表达式方面的功能,很强大。 其中就包括re.sub,实现正则的替换。 功能很强大,所以导致用法稍微有点复杂。 所以当遇到稍微复杂的用法时候,就容易...

【整理】详解Python中re.sub

【整理】详解Python中re.sub 【背景】 Python中的正则表达式方面的功能,很强大。 其中就包括re.sub,实现正则的替换。 功能很强大,所以导致用法稍微有点...

Python--详解Python中re.sub

给出定义:re.sub(pattern, repl, string, count=0, flags=0)Return the string obtained by replacing the left...
  • Mrzhoug
  • Mrzhoug
  • 2016年06月04日 18:46
  • 9788

python 文件游标以及 re 中的 match,sub(具体示例)

如下图所示: 文件out_plink.ped 文件myData.txt要达到的目的:将文件myData.txt的第一列纯数字提取出来,再按照文件out_plink.ped的顺序重新排列myData...

python数据清洗容易遇到的函数-re.sub bytes string

re.sub功能,bytes string.punctuation

转载: Python--详解Python中re.sub 作者:Mrzhoug

给出定义:re.sub(pattern, repl, string, count=0, flags=0)Return the string obtained by replacing the left...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编码纠正 glob logging replace re.sub 2016.05.30回顾
举报原因:
原因补充:

(最多只允许输入30个字)