python 正确字符串处理(自己踩过的坑)
2020-01-15 11:06
295 查看
不管是谁,只要处理过由用户提交的调查数据,就能明白这种乱七八糟的数据是怎么一回事。为了得到一组能用于分析工作的格式统一的字符串,需要做很多事情:去除空白符、删除各种标点符号、正确的大写格式等。做法之一是使用内建的字符串方法和正则表达式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函数处理Protobuf中的字符串编码
- python字符串处理顺序
- Python语法速查:字符串格式简单处理、子串查找与判断方法?
- python处理字符串编码
- python数字处理技巧(2): Numpy、矩阵运算、随机、字符串日期
- Python中字符串常用处理函数
- IPython下字符串的简单处理 - 千月的python linux 系统管理指南学习笔记(8)
- 自己实现基本的C标准库字符串处理函数——实现strcpy
- python 中文字符串处理-获得子串
- Python字符串处理的8招秘籍(小结)
- c语言 一些自己的字符串处理函数
- 编写一个删除C语言程序中所有注释语句,正确处理带引号的字符串与字符常量
- python-字符串处理-去除首尾特定字符
- Java中split方法对结尾空字符串不正确处理的解决方案
- python字符串处理
- python3字符串与文本处理
- Python中处理JSON字符串
- Python中处理字符串之endswith()方法的使用简介
- 通过Python的内置字符串处理函数来处理字符串的方法和整理
- Python字符串处理算法 (一)