工作中使用python正则提取充值数据小练习

源数据日志格式:

[localhost bin]$ grep addcash original.log |head -2
2014-04-28 00:07:12 addcash:from=2209:account=8811730$efad:platform=efad:userid=354810:mac=E899C48805DF:os=2:roleid=33595401:lev=95:totalcash=49171100:cash=489900:yuanbao=1680:id1=SDXL1398623620882WCT:id2=110710793:hint=48.99:idfa=
2014-04-28 00:07:12 addcash1:from=2209:userid=354810:roleid=33595401:shapeid=10:school=17:lev=95:cash_rmb=489900:totalcash=49171100:oldserial=110313481:newserial=110710793{pOrderId=SDXL1398623620882WCT, amountUSD=48.99, orderStateMonth=201404, stone=1500, activityExtra=0, creditId=1107107932209, time=1398614832502, extraGold=0, userId=8811730, extraMoney=0, money=48.99, serverCode=2209, chargeType=0}:cash_add=1872:delta=1680:macaddress=E899C48805DF:clientsource=efadsmall:accountsource=efad:viplv=nullvalue:idfa=
[web@localhost bin]$ du -hs original.log 
77M     original.log
[localhost bin]$

要求使用tab键分割提取出充值信息保存在磁盘中

#!/usr/bin/env python
import os
import sys
import refile_name = 'original.log'reg='^(\d+-\d+-\d+\s+\d+:\d+:\d+).*addcash:from=(\d+):account=(.+)platform=(.+):userid=(\d+):mac=(.+):os=(\d+):roleid=(\d+):lev=(\d+):totalcash=(\d+):cash=(\d+):yuanbao=(\d+):id1=(.+):id2=(\d+):hint=(.+):idfa=(.*)'fw = open('result.txt','w')
f = open(file_name,'r')for line in f:m = re.match(reg,line)if m:fw.write('\t'.join([ x.strip() for x in list(m.groups()) ])+'\n')f.close()
fw.close()

运行结果:

[localhost bin]$ python AnalyCash.pl 
[localhost bin]$ cat result.txt 
2014-04-28 00:07:12     2209    8811730$efad:   efad    354810  E899C48805DF    2       33595401        95      49171100        489900  1680    SDXL1398623620882WCT    110710793       48.99
2014-04-28 00:07:41     2209    11274790$efis:  efis    758472  020000000000    3       136441865       90      2589600 299900  990     SDXLIOS139862611689W    110714889       29.99   59DD2C08-AFCF-4187-BFF8-118257DF3121
2014-04-28 00:28:59     2209    9841710$efis:   efis    556597  020000000000    3       17506313        95      90737800        999900  3710    SDXLIOS139862595036C    110735369       99.99   8F7483E4-3797-44D5-9A8C-D51A68EA963E
.....

python提取格式化日志相关推荐

  1. linux日志生成速率统计,Linux学习29-awk提取log日志信息,统计日志里面ip访问次数排序...

    前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击. 日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数) ...

  2. python中格式化字符串_Python中所有字符串格式化的指南

    python中格式化字符串 Strings are one of the most essential and used datatypes in programming. It allows the ...

  3. 如何使用Elasticsearch,Logstash和Kibana实时可视化Python中的日志

    by Ritvik Khanna Ritvik Khanna着 如何使用Elasticsearch,Logstash和Kibana实时可视化Python中的日志 (How to use Elastic ...

  4. 基于python的Nginx日志管理分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用 pandas + sklearn 对 Nginx 的日志数据进行统计分析,并利用 fla ...

  5. 使用python提取华为交换机的接口IP信息保存到excel中(ensp模拟器)

    实验环境: 如图所示,SW1-SW5上分别已经配置了SSH,使用外部PC可以SSH到其中. 在本次实验中,主要使用了如下三个模块: openpyxl,对excel文件进行操作,具体可以参考:https ...

  6. python提取关键词前后原文_python提取文本关键词

    python提取关键词textrank算法,将数据库中的数据提取出来,然后进行分析,代码如下 import pymysql import jieba from textrank4zh import T ...

  7. 这篇文章有点长,但绝对是保姆级的Python字符串格式化讲解

    相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! Python学习交流群:773162165 前言 今 ...

  8. Python :格式化日期

    介绍 Python 附带了各种有用的对象,可以直接使用.例如日期对象就是一个例子.由于日期和时间的复杂性,日期类型很难从头开始操作.所幸,Python 日期对象将日期转换成所需的字符串格式变得相当容易 ...

  9. python 字符串格式化是打印不同类型更简单一些

    Python 支持格式化字符串的输出 与 C 中 sprintf 函数一样的语法 下面写3中不同类型的数据合在一起打印 name = "张三丰" height = 1.88 wei ...

  10. 简单介绍python format格式化和数字格式化

    这篇文章主要介绍了python format格式化和数字格式化,格式化字符串的函数 str.format(),它增强了字符串格式化的功能,基本语法是通过{} 和 : 来代替以前的 % ,下面内容介绍, ...

最新文章

  1. Flask rst 文档转换为html格式文件
  2. 用gulp构建你的前端项目
  3. HTML5一个浪漫的程序猿:3D旋转爱心表白神器思路源码视频
  4. Java调用net的Webservice时提示:undefined element declaration 's:schema'
  5. js 页面所有超链接后加随机数 基于jquery
  6. Autodesk云计算系列视频 --- 云计算与Civil 3D
  7. 重磅发布 阿里云数据中台全新产品DataTrust聚焦企业数据安全保障
  8. spring的事务隔离_spring事务基础及常见问题详解
  9. Nginx 反向代理配置
  10. 以Flappy Bird破解为例介绍andriod apk加壳方法
  11. C++中之---数组和vector
  12. 基于WEB的达内学子书城/商城源代码
  13. 疯狂的程序员_《戴蓓会客厅》第13期|疯狂的程序员 三维家蔡志森的野心
  14. 现代控制理论——非线性系统的lyapunov
  15. GStreamer Windows 基辅3:全手动,声像作例,汝作大像也。导演:卡卡,你说老毛子东西啊?应该是 G 公创 Pad 极,1 曰 Video,二曰 Audio
  16. 签订房屋买卖居间合同后一方违约购房定金如何处理
  17. 重复渐变过渡 百分比
  18. outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理
  19. hdu6638 Snowy Smile(线段树+最大子段和)
  20. java rgb转yuv_RGB,CMY(K),YUV,YIQ,YCbCr颜色的转换算法(java实现)

热门文章

  1. 套接字Socket的常见面试题及答案
  2. Scrapy(爬虫)中文手册
  3. java对象的实例化_java实例化对象的几种方式
  4. python识别手写文字_深度学习---手写字体识别程序分析(python)
  5. 记录编译Hi3559A时遇到的一些错误和解决方法
  6. Excel解决中英文分离
  7. cmos逻辑门传输延迟时间_MOS管以及简单CMOS逻辑门电路原理图解析
  8. Windows命令之ftp命令
  9. linux查看日志相关命令
  10. 硬件设计--阻抗匹配