最近根据公司运营部需求要对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 文本处理的应用的更多相关文章

  1. 算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!

    算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!

  2. Python 文本解析器

    Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 ...

  3. python 文本分类

    python 文本分类 pyhton 机器学习 待续...

  4. python文本 maketrans和translate

    python文本 maketrans和translate 场景: 过滤字符串的某些字符,我们从例子出发 >>> tb=str.maketrans ('abc','123')    & ...

  5. python文本 字符串逐字符反转以及逐单词反转

    python文本 字符串逐字符反转以及逐单词反转 场景: 字符串逐字符反转以及逐单词反转 首先来看字符串逐字符反转,由于python提供了非常有用的切片,所以只需要一句就可以搞定了 >>& ...

  6. python文本 拼接或合并字符串

    python文本 拼接.合并字符串 场景: 拼接.合并字符串 在这个场景中,我们首先想到的当然是使用+或者+=将两个字符串连接起来 >>> a='a'    >>> ...

  7. python文本 去掉字符串前后空格

    python文本 去掉字符串前后空格 场景: 去掉字符串前后空格 可以使用strip,lstrip,rstrip方法 >>> a="abc".center (30 ...

  8. python文本 判断对象里面是否是类字符串

    python文本 判断对象里面是否是类字符串 场景: 判断对象里面是否是类字符串 一般立刻会想到使用type()来实现 >>> def isExactlyAString(obj):  ...

  9. python文本 单独处理每个字符的方法汇总

    python文本 单独处理字符串每个字符的方法汇总 场景: 用每次处理一个字符的方式处理字符串 方法: 1.使用list(str) >>> a='abcdefg'    >&g ...

  10. python文本 字符串开头或者结尾匹配

    python文本 字符串开头或者结尾匹配 场景: 字符串开头或者结尾匹配,一般是使用在匹配文件类型或者url 一般使用startwith或者endwith >>> a='http:/ ...

随机推荐

  1. JS中的call()和apply()方法理解和使用

    1.方法定义call方法: 语法:obj.method.call(thisObj[,arg1[, arg2[, [,.argN]]]]) 定义:调用对象(obj)的一个方法(method),以另一个对 ...

  2. android studio 工程设置项

    1.在<工程根目录>\build\generated文件夹中 存在 xxx.jar 这个文件是用来做单元测试用的,但该功能目前还处于实验阶段,不想用可以关了. 去掉勾后,clean一下工程 ...

  3. 简单工厂设计模式(Simple Factory Design Pattern)

    [引言]最近在Youtub上面看到一个讲解.net设计模式的视频,其中作者的一个理解让我印象很深刻:所谓的设计模式其实就是运用面向对象编程的思想来解决平时代码中的紧耦合,低扩展的问题.另外一点比较有见 ...

  4. 【 VS 插件开发 】一、正确安装VS专业版

    [ VS 插件开发 ]一.正确安装VS专业版

  5. mysql给表添加外键并查询

    CREATE TABLE `heart` ( `heart_ID` ) NOT NULL AUTO_INCREMENT, `heart_name` ) CHARACTER SET utf8 NOT N ...

  6. TortoiseSVN 1.8 关于右键的设置

    以前用SVN但都是 IDE 自己集成的插件,最近使用 android studio 发现居然自己不带SVN command line插件,非得自己单独装一个,于是使用了 TortoiseSVN ,但用 ...

  7. portal安装常见问题

    1.创建portaladmin的url? https://portal.smart.ningbo:7443/arcgis/home/createadmin.html 2.创建portaladmin一闪 ...

  8. Mssql 行转列

    ) set @sql='' --初始化变量@sql --变量多值赋值 ,,'')--去掉首个',' set @sql=' select * from( select objectid,name,jyj ...

  9. 安装linux工作环境

    1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等.出于个人使用习惯,可能我们还是比较习惯用windows.虽然说在wind ...

  10. Myeclipse2014中,新建部署Maven项目

    一.环境 1.1 myeclipse2014 1.2 maven3.2.1 1.3 jdk1.7 上述环境配置可参照我之前编写的maven搭建方面的文档.本文着重介绍myeclipse2014下mav ...