python实现一组典型数据格式转换
本文实例为大家分享了一组典型数据格式转换的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-8
fd = 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()
生成文件格式如下,基本上满足了需求。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
浅谈对pytroch中torch.autograd.backward的思考
这篇文章主要介绍了对pytroch中torch.autograd.backward的思考,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
这篇文章主要给大家分享的是在WINDOWS下同时安装 python2 python3 后 pip 错误的解决方法,非常的实用,有需要的小伙伴可以参考下2017-03-03
Python使用django框架实现多人在线匿名聊天的小程序
很多网站都提供了在线匿名聊天的小功能,下面小编基于python的django框架实现一个多人在线匿名聊天的小程序,具体实现代码大家参考下本文2017-11-11
python处理 yaml 时保持输入输出格式一致的问题记录
这篇文章主要介绍了python处理 yaml 时保持输入输出格式一致的问题记录,要想保持顺序不变在dump时添加sort_keys=False,使yaml格式保持原来的排序,本文给大家介绍的非常详细,需要的朋友可以参考下2024-06-06


最新评论