用python 处理字符串,初次使用后感受

         这边工作上,要处理些数据,开始有些,根据老大的指示,给excel 加上对应的分隔符,直接复制过去就是字符串数组了。

     不过,那边说漏了一些,某些ID根据vip 要加上些东西。这下好,蛋疼了。

      去excel 把 要加的ID 整理出来,拿着原来的 列表,要搜索出哪些需要加,然后在后面的字符串加上特定的字符。

 想想也简单对不,就是两次遍历,再操作字符串就是了。

       Java 虽然也好用,但我还是不熟悉文件操作。都说Python 处理字符是很强的,这种工作就用python试试呗。

      

      好吧,这么个简单的工作,从吃了晚饭后,一直整了一个晚上。下面是使用后的一些总结。

      1, python 看起来是很简洁,但半生不熟的话,好多API 还是要现查,这是一个。就比如 正则,是用compile 后的去match, 还是直接 re.search ,这没有自己使用后,还是不知道其中的区别,和适用的场合。 还有各种字符串的操作,和列表的一些处理,也是学了都忘了。

       2. 除去API 的不说,排版也是个问题。 都知道python 没有大括号,靠用缩进来指示层次。 我这循环,判断,写了3,4层,后面的逻辑就搞不清要放到哪一层去了。当然这是我个人编码底力不足的因素。不过,调整层次还得目测来确定各个层次的范围,一定程度上确实不如用大括号区分直观。(或许是我该配个更顺手的IDE,而不是用啥都没有的IDLE了)

       3.好吧,最大的问题,昨天耗费我时间最多的问题。除了查API 了解字符串,读写文件操作,使用正则以外,更蛋疼的问题。就是文件末尾的换行符。

for line in data:
    matcher = pattern.match(line)    
    if matcher != None:
        role = matcher.group(1)
        flag = False
        for vip in vips:
            if vip.strip() == role.strip():   //  注意这里
                flag = True
                break

上面注释这行,就是问题所在。

总算代码调通了。缩进,层次逻辑也应该改对了,可就是不出来正确的结果,为什么?

newline = line[:len(line)-4]+pitch+line[len(line)-4:] 

这行也是,测试的时候,两个字符串放到倒数第3的位置,就对了的。为什么写文件的时候,发现插错了地方?


一切都是因为文件每行末尾的换行符!!!


总结一下,python 掌握常用 字符串 读写 正则的API 后,并且习惯缩进式的使用,还是挺容易处理字符串类的工作的。

只是,下次多注意,换行符,这坑爹的东西啊。。。


本人CSDN博客目录:

http://blog.csdn.net/tidus5


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值