python正确字符串处理(自己踩过的坑)

不管是谁,只要处理过由用户提交的调查数据,就能明白这种乱七八糟的数据是怎么一回事。为了得到一组能用于分析工作的格式统一的字符串,需要做很多事情:去除空白符、删除各种标点符号、正确的大写格式等。做法之一是使用内建的字符串方法和正则表达式re模块:

创新互联专注于网站建设|网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖纱窗等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。

一般写法

states = ['   Alabama ', 'Georgia!', 'Georgia', 'georgia', 'FlOrIda',
         'south   carolina##', 'West virginia?']

import re

def clean_strings(strings):  # 一般对数据的处理步骤
    result = []
    for value in strings:
        value = value.strip()
        value = re.sub('[!#?]', '', value)
        value = value.title()
        result.append(value)
    return result

In [173]: clean_strings(states)
Out[173]: 
['Alabama',
 'Georgia',
 'Georgia',
 'Georgia',
 'Florida',
 'South   Carolina',
 'West Virginia']

推荐写法

def remove_punctuation(value):
    return re.sub('[!#?]', '', value)

clean_ops = [str.strip, remove_punctuation, str.title]  # 函数也是对象

def clean_strings(strings, ops):
    result = []
    for value in strings:
        for function in ops:
            value = function(value)
        result.append(value)
    return result

In [175]: clean_strings(states, clean_ops)
Out[175]: 
['Alabama',
 'Georgia',
 'Georgia',
 'Georgia',
 'Florida',
 'South   Carolina',
 'West Virginia']

# 或者
In [176]: for x in map(remove_punctuation, states):  #  
   .....:     print(x)
Alabama 
Georgia
Georgia
georgia
FlOrIda
south   carolina
West virginia

文章标题:python正确字符串处理(自己踩过的坑)
文章链接:http://bzwzjz.com/article/psjsps.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作 四川成都网站建设 响应式网站设计 自适应网站建设 网站建设公司 高端品牌网站建设 外贸网站设计方案 成都网站设计 重庆手机网站建设 高端网站设计推广 商城网站建设 营销网站建设 成都网站建设流程 定制网站设计 成都网站制作 泸州网站建设 成都网站制作 成都网站设计 企业网站建设 重庆网站制作 成都网站制作 成都h5网站建设