2013-03-25 31 views
-1

我是新來的python,沒有以前的編程背景。但是,我打算參加我的大學提供的Python編程課程。這個秋天。我有一個小項目完成,但我需要處理超過5 GB的小文本文件(每個都是50 kb)。從文件名中添加列作爲日期

我有很多文件名爲20130325randrand.dat。該文件有3行標題(我需要擺脫)。我需要創建一個列,並將該列中的前8個字符作爲日期(mm/dd/yyyy)添加到該列中。

此外,我需要計算文件中每個第12行變量的平均值(讀數每5分鐘測量一次,需要計算小時平均值)。我知道這是很多工作,但我會非常感謝任何建議,指示和幫助。謝謝。

截圖:

screenshot

+5

歡迎來到Stack Overflow!看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。證明這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論是適用)。您提供的細節越多,您可能會收到的答案就越多。 – 2013-03-25 20:50:55

+0

此外,如果可能的話,發佈可用數據(或其他地方發佈的可用數據鏈接)而不是截圖。沒有人可以根據屏幕截圖來調試或測試代碼。 – abarnert 2013-03-25 21:07:05

+0

這個網站是針對特定問題的(原則上,一次只有一個),而您似乎有一個普遍問題(「我該如何編程?」)或大量特定問題(「我如何在Python中執行此操作?「,」我如何用Python做到這一點?「,」我如何在Python中做這件事?「)。你打算參加一門課程很好,但如果你之前需要完成一項任務,你必須自己做一些閱讀。嘗試[這些鏈接](http://wiki.python.org/moin/BeginnersGuide/NonProgrammers)獲取一些想法,當然還有其他可以在Google上找到的其他內容。 – 2013-03-25 21:56:47

回答

1

一些指針:

讀取文本文件到行的列表:

with open('20130325rand.dat') as df: 
    lines = df.readlines() 

這會給你行的列表,例如

In [17]: lines 
Out[17]: ['# header 1', '# header 2', '# header 3', 'line 0', 'line 1', 'line 2', 'line 3', 'line 4', 'line 5', 'line 6', 'line 7', 'line 8', 'line 9', 'line 10', 'line 11', 'line 12', 'line 13', 'line 14', 'line 15', 'line 16', 'line 17', 'line 18', 'line 19', 'line 20', 'line 21', 'line 22', 'line 23', 'line 24'] 

要跳過的前三行的,然後讓每一個12:

In [18]: lines[3::12] 
Out[18]: ['line 0', 'line 12', 'line 24'] 

這就是所謂的slicing。您可以爲文本做同樣的:

In [19]: '20130325rand.dat'[:8] 
Out[19]: '20130325' 

online documentation爲Python包含tutorial。但在互聯網上也有很多其他可用的。

歡迎來到Python,祝你好運!

+0

Thanks @ roland-smith,[this](http://imgur.com/OGlMEa5)是我用來讀取目錄並刪除前三行並保存輸出。我如何計算每第n行的平均值?任何方向? – 2013-03-26 14:34:45

+0

將值追加到列表中。把'sum()'放到列表中,並用列表的len()分隔。 – 2013-03-26 18:00:06