您好,登錄后才能下訂單哦!
本文實例為大家分享了一組典型數據格式轉換的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()
生成文件格式如下,基本上滿足了需求。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。