python实现一组典型数据格式转换
Python  /  管理员 发布于 7年前   382
本文实例为大家分享了一组典型数据格式转换的python实现代码,供大家参考,具体内容如下
有一组源数据,第一行会是个日期数据,第二行标明字段,再接下来是两行数据行。
1018 14:31:30.193
Type Succ Fail
sour_sm 1308 1205
data_sm 2205 3301
1019 16:32:30.201
Type Succ Fail
data_sm 3308 2206
data_sm 1765 1105
1020 18:00:00.203
Type Succ Fail
sour_sm 7804 1105
data_sm 2976 1300
要转换成数据
Time Type Succ Fail Total
1018 14:31:30.193 sour_sm 1308 1205 2513
1018 14:31:30.193 data_sm 2205 3301 5506
1019 16:32:30.201 data_sm 3308 2206 5514
1019 16:32:30.201 data_sm 1765 1105 2870
1020 18:00:00.203 sour_sm 7804 1105 8909
1020 18:00:00.203 data_sm 2976 1300 4276
这个时候可以使用Python来处理,代码如下:
# coding = utf-8fd = open(r"output.txt", "w", encoding="utf-8")fd.write("%s\t\t\t\t%s\t%s\t%s\t%s\n" % ("Time", "Type", "Succ", "Fail", "Total")) with open(r"data.txt", "r", encoding="utf-8") as fd1: lines = fd1.readlines() time1 = lines[0::4] data1 = lines[2::4] data2 = lines[3::4] for (i, line) in enumerate(time1): Time = line.strip() Type_1 = data1[i].strip().split()[0] Succ_1 = data1[i].strip().split()[1] Fail_1 = data1[i].strip().split()[2] Total_1 = str(int(Succ_1) + int(Fail_1)) Type_2 = data2[i].strip().split()[0] Succ_2 = data2[i].strip().split()[1] Fail_2 = data2[i].strip().split()[2] Total_2 = str(int(Succ_2) + int(Fail_2)) fd.write("%s\t%s\t%s\t%s\t%s\n" % (Time, Type_1, Succ_1, Fail_1, Total_1)) fd.write("%s\t%s\t%s\t%s\t%s\n" % (Time, Type_2, Succ_2, Fail_2, Total_2))fd.close()
生成文件格式如下,基本上满足了需求。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号