python實現(xiàn)一組典型數(shù)據(jù)格式轉換
本文實例為大家分享了一組典型數(shù)據(jù)格式轉換的python實現(xiàn)代碼,供大家參考,具體內(nèi)容如下
有一組源數(shù)據(jù),第一行會是個日期數(shù)據(jù),第二行標明字段,再接下來是兩行數(shù)據(jù)行。
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
要轉換成數(shù)據(jù)
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()
生成文件格式如下,基本上滿足了需求。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
淺談對pytroch中torch.autograd.backward的思考
這篇文章主要介紹了對pytroch中torch.autograd.backward的思考,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
WINDOWS 同時安裝 python2 python3 后 pip 錯誤的解決方法
這篇文章主要給大家分享的是在WINDOWS下同時安裝 python2 python3 后 pip 錯誤的解決方法,非常的實用,有需要的小伙伴可以參考下2017-03-03
Python使用django框架實現(xiàn)多人在線匿名聊天的小程序
很多網(wǎng)站都提供了在線匿名聊天的小功能,下面小編基于python的django框架實現(xiàn)一個多人在線匿名聊天的小程序,具體實現(xiàn)代碼大家參考下本文2017-11-11
python處理 yaml 時保持輸入輸出格式一致的問題記錄
這篇文章主要介紹了python處理 yaml 時保持輸入輸出格式一致的問題記錄,要想保持順序不變在dump時添加sort_keys=False,使yaml格式保持原來的排序,本文給大家介紹的非常詳細,需要的朋友可以參考下2024-06-06

