国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python新手問題——大txt文件按條件將多行合并

瀏覽:111日期:2022-07-29 14:51:19

問題描述

數據格式如下:······1107 1385331000000 1.31425116071267541107 1385331000000 0.00216831966616601571107 1385331600000 0.00216831966616601571107 1385331600000 1.48678059856709231107 1385331600000 0.00216831966616601571107 1385332200000 1.16976269383032431107 1385332800000 0.00216831966616601571107 1385332800000 0.005813069022279304 1107 1385332800000 1.28473294406098271107 1385332800000 0.00216831966616601571107 1385333400000 1.28915863808346031108 1385247600000 0.0269431681771513561108 1385247600000 6.1846964752626531108 1385248200000 0.059462889200508061108 1385248200000 6.3595727853353561108 1385248200000 0.0106028805902600441108 1385248800000 0.0269431681771513561108 1385248800000 5.5680479237872721108 1385249400000 0 0.010242026851040091108 1385249400000 5.2130178228553141108 1385250000000 0.010242026851040091108 1385250000000 5.3853272542178931108 1385250600000 0.016259860511678353 1108 1385250600000 4.9026440746581151108 1385251200000 4.1412888084884361108 1385251800000 0.05388633635430271 1108 1385251800000 4.6840966949668611108 1385251800000 0.010242026851040091108 1385252400000 4.3865801131770491108 1385253000000 4.5822193907978331108 1385253600000 5.2110610962798311108 1385254200000 0.020484053702080181108 1385254200000 3.9015460515633161108 1385254200000 0.010242026851040091108 1385254800000 4.0387888693118255······每一行數據間是tab鍵隔開的第一列是標號,第二列是UTC格式時間戳,第三列是流量數據,每行的數據是10分鐘內的,現在想把同一個標號的比如第一列為1107的每一小時的數據疊加起來成為新的一行(第二列的時間可以用時間戳表示或者以時間間隔表示),完全沒有頭緒,請大神指點指點

問題解答

回答1:

自己解決了,雖然可能比較復雜,但是能滿足需求

__author__ = ’Administrator’file = open(’day24.txt’, ’a+’)s = 'area time datan'file.write(s)file.closefile = open(’sms-call-internet-mi-2013-11-24-24.txt’,’r’)line = file.readline()list1 = []#時間num1 = []#dataarea = []while 1: line = file.readline() if line == ’’:break a = line.split() if int(a[0]) == 1:if a[2] == 'NA': a[2] = ’0’area.append(a[0])if a[1] in list1: num1[list1.index(a[1])] = float(num1[list1.index(a[1])])+float(a[2])else: list1.append(a[1]) num1.append(a[2]) elif int(a[0]) < 10001:if a[2] == 'NA': a[2] = ’0’if a[0] not in area: area.append(a[0]) file1 = open(’day24.txt’, ’a+’) for i in list1:file1.write('%-8s%-16s%.20fn' % (area[area.index(a[0])-1], i, float(num1[list1.index(i)]))) file1.close file1 = open(’day24.txt’, ’r’) file1.close list1 = [] num1 = []if a[1] in list1: num1[list1.index(a[1])] = float(num1[list1.index(a[1])])+float(a[2])else: list1.append(a[1]) num1.append(a[2]) else:breakfile.closefile = open(’day24.txt’, ’a+’)for j in list1: file.write('%-8s%-16s%.20fn' % (a[0], j, float(num1[list1.index(j)])))file.closefile = open(’day24.txt’, ’r’)file.close回答2:

如果是按照時間序列的,直接使用generator來讀取原文件,生成新的行然后輸出就可以了.

回答3:

pandas可以解決你的需求,讀取數據到dataframe中再進行處理

回答4:

這個要看你的數據量有多大了

使用 文件句柄遍歷 不用用 readlines() (內存可能不夠)

使用類似于字典一樣的數據結構來存儲你的信息,如果內存不夠,就要再想辦法,中間信息寫磁盤等。

大概的思路如下

from collections import Counterc = Counter()f = [’1107 1385332800000 1.2847329440609827’,’1107 1385332800000 0.0021683196661660157’,’1107 1385333400000 1.2891586380834603’,’1108 1385247600000 0.026943168177151356’,’1108 1385247600000 6.184696475262653’,’1108 1385248200000 0.05946288920050806’ ]’’’with open(’xxoo.txt’) as f: # f 文件遍歷句柄,相當于上面的 list f for i in f:s = i.split()c[s[0]] += s[2]’’’for i in f: # 這里是遍歷 f, 這里遍歷的是 list f, 你實際情況要用上面的 f s = i.split() # 這里是空格分割,可以使用 print s 看看結果 c[s[0]] += float(s[2]) # c 用來統計for i in c: print i, c[i]回答5:

你這個等于就是基于標號和小時兩個指標分組統計,用pandas讀入,用to_datetime將時間戳轉化為時間列再取小時數,然后用groupby同時對標號和小時進行分類,sum匯總就行了。

回答6:

請用這個思路https://www.zhihu.com/questio...

回答7:

我覺得你這個數據格式可以稍加分析一下再做1.第一列表示日期,你可以做為結果數組的第一層的鍵,result[date]2.第二列看著應該是時間(分鐘)的時間戳,這樣你要求按小時來做結果,你就每個result[data]項初始化24個元素,鍵就是小時數(可以用相應的小時數的時間戳的值做鍵),鍵值對應的就是這個小時內的數據總和,即resultdate3.初始化完成這個結果數組以后就簡單了,你就遍歷文件,逐行處理就可以了,每一行先讀取第一列的值,比如1107,就操作result[1107]。接著讀取第二列,找到對應的hourtimestamp鍵,累加就行了。4.最后遍歷result數組,輸出結果就行了。

回答8:

你需要:

from itertools import groupby

不到十行代碼就可以搞定的。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 日本高清视频www夜色资源 | 在线观看 国产 | 情侣偷偷看的羞羞视频网站 | 大臿蕉香蕉大视频成人 | 在线观看不卡一区 | 一级毛片成人午夜 | 国产成人亚洲综合91精品555 | 日韩成人午夜 | 久久亚洲精品中文字幕三区 | 性8sex亚洲区入口 | 欧美一级毛片aaa片 欧美一级毛片不卡免费观看 | 91久久精品视频 | 美女与男人对肌免费网站 | 久久思 | 国产精品亚洲综合网站 | 一级特黄aaa大片在线观看 | 一级啪啪片 | 爱福利极品盛宴 | 伊人婷婷色香五月综合缴激情 | 免费播放美女一级毛片 | 伊人情人综合网 | 一级a毛片 | 中文字幕亚洲另类天堂 | 日韩精品另类天天更新影院 | 加勒比日本| 尤物tv已满18点击进入 | 国产免费一级片 | 精品国产综合区久久久久久 | 欧美成人www在线观看网页 | 国产99视频精品免费观看9e | 久草8| 一级特黄色毛片免费看 | 国产a一级毛片含羞草传媒 国产a自拍 | 在线视频久草 | 日韩一区国产二区欧美三区 | 米奇精品一区二区三区 | 毛片一级免费 | 免费在线观看黄色毛片 | 永久天堂| 欧美一区二区在线播放 | 国产成人精品日本亚洲语音1 |