Python 文本处理的应用
最近根据公司运营部需求要对mongo数据库中的相关信息进行统计,本人一般喜欢将数据库服务器中相关的数据导出来(PS:其一由于Mongo为Nosql,在涉及关联表时不好处理,其二是因为虽然为测试环境,但是为了不影响性能的话我还是习惯将数据导出,但是缺点就是自己测试机压力比较大,不过针对于目前数据情况还是可以应付的)。
根据createDate时间段导出的数据格式如下(已经经过处理,处理过程略过)
a : 5 , b: 111 , c: 5
a : 1 , b: 222 , c: 3
a : 2 , b: 333 , c: 4
这些形式的文本信息都以行的形式存储在文本中,其中以,为分隔的每一列为在mongo数据库中根据条件提取的信息。其中a为活动id,b为参加活动的用户id,c为参加活动得分情况。
由于要统计不同活动参加的人数,以及对应活动的得分情况,所以要对其中的每个键进行判断,统计的方法很简单,此次主要记录下本人处理判断字段的方法:
通过type()可以判断每一行为一个str,针对这样形式的str,希望能够转换成dict来处理,本人没有试过,我是通过re模块中的split通过‘,’将其切片成list作为列表来处理,效果也是一样的,由于判断的过程中是以活动id为条件的,这样的话只能再通过二次切片,以‘:’为分隔符继续处理后再取出其中的值进行判断。
整个统计实现的过程中用到文本操作,字符串处理,循环语句。实现起来很简单。
以前处理文本都是用shell来实现,但是由于本人shell是半路出家,很多工具不熟悉的话根本没法想到用什么样的方法,而且个人目前感觉shell细节化的处理不够细腻,(PS:也是因为本人用的不多,其实perl的字符处理功能十分强大),所以这次就适当的将自己最近刚看的python应用起来进行锻炼下。
实现的代码比较简单,也不好意思贴出,希望在一点一滴中继续前进,与君共勉!!!!
Python 文本处理的应用的更多相关文章
- 算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
- Python 文本解析器
Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 ...
- python 文本分类
python 文本分类 pyhton 机器学习 待续...
- python文本 maketrans和translate
python文本 maketrans和translate 场景: 过滤字符串的某些字符,我们从例子出发 >>> tb=str.maketrans ('abc','123') & ...
- python文本 字符串逐字符反转以及逐单词反转
python文本 字符串逐字符反转以及逐单词反转 场景: 字符串逐字符反转以及逐单词反转 首先来看字符串逐字符反转,由于python提供了非常有用的切片,所以只需要一句就可以搞定了 >>& ...
- python文本 拼接或合并字符串
python文本 拼接.合并字符串 场景: 拼接.合并字符串 在这个场景中,我们首先想到的当然是使用+或者+=将两个字符串连接起来 >>> a='a' >>> ...
- python文本 去掉字符串前后空格
python文本 去掉字符串前后空格 场景: 去掉字符串前后空格 可以使用strip,lstrip,rstrip方法 >>> a="abc".center (30 ...
- python文本 判断对象里面是否是类字符串
python文本 判断对象里面是否是类字符串 场景: 判断对象里面是否是类字符串 一般立刻会想到使用type()来实现 >>> def isExactlyAString(obj): ...
- python文本 单独处理每个字符的方法汇总
python文本 单独处理字符串每个字符的方法汇总 场景: 用每次处理一个字符的方式处理字符串 方法: 1.使用list(str) >>> a='abcdefg' >&g ...
- python文本 字符串开头或者结尾匹配
python文本 字符串开头或者结尾匹配 场景: 字符串开头或者结尾匹配,一般是使用在匹配文件类型或者url 一般使用startwith或者endwith >>> a='http:/ ...
随机推荐
- zabbix 布署实践【1 server安装】
通过openstack环境,开通了2台只有根分区的虚拟机, 目的是为了监控公司所有的物理机,网络设备,虚拟机,总计300个台以上,推荐配置,zabbix官方文档是有给出指引的 环境:CentO ...
- CodeForces 670F Restore a Number
模拟. 首先暴力找到答案的位数,然后就是分类讨论输出答案. #pragma comment(linker, "/STACK:1024000000,1024000000") #inc ...
- Let's Encrypt(开源SSL证书管理工具)
刚装上一个StartSSL 的证书没几天,却看到官方发出这样的通知: 无聊中看到了网上各种相关的扯淡: http://tieba.baidu.com/p/4801786642 http://www.t ...
- db2 常用配置
db2set配置: db2set DB2_ENABLE_LDAP=NO db2set DB2_ALTERNATE_GROUP_LOOKUP=GETGROUPLIST db2set DB2_RESTOR ...
- [Q]自定义纸张大小
问:当打印机纸张列表里没有符合要求的纸张大小,例如如何打印加长图?答:当打印非标准图框时,你可能在图纸列表里找不到想要纸幅.你需要自己新建你需要的纸幅,以pdfFactory虚拟打印机为例(其它打印机 ...
- [转] windows 上用程序putty使用 ssh自动登录Linux(Ubuntu)
需求: 在Win7电脑上使用putty(一种ssh客户端)连接Ubuntu 工具: puttygen.exe 和 putty.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型 ...
- SXT分布式缓存技术公开课的观后感
最近几天在研究Redis,Redis作为最近比较流行的缓存技术,其特点还是很明显的,Redis使用Key-Value的结构来存储数据,Redis也是内存型的数据库,数据一开始是保存在内存中的,通过某些 ...
- redis超时问题分析
redis超时问题分析 06/04. 2014 Redis在分布式应用中占据着越来越重要的地位,短短的几万行代码,实现了一个高性能的数据存储服务.最近dump中心的cm8集群出现过 几次redis超时 ...
- tomcat设置http自动跳转为https访问
一.生成服务器端证书文件 可以使用Windows系统或者Linux系统 (1)Windows环境 条件:已经安装JDK 步骤: 1.在运行里输入cmd进入命令窗口 2.进入JDK安装目录 如D:/P ...
- SQLSERVER 的联接查询写法
1.内连接 语法:[JOIN.INNER JOIN] 作用:两个表相连,加上ON匹配两个表的共同条件. 实例1: SELECT tb_o_i.* FROM tb_o_i INNER JOIN tb_o ...