2014-11-15 48 views
-5

我是新來的Python和numpy,但必須從文本文件中提取信息。這個文件有超過17000行的信息,我想爲我的項目獲得「最有記錄的一年」。第一列[0]有從1962年至2011年列出的年份,並在該年的每月[1]的數據。找出最大降雨量

這是文本文件的例子:

1962 01 134.6 12.5 22 
1962 02 77.2 11.2 17 
1962 03 73.6 13.4 13 
1962 04 68.6 20.6 17 
1962 05 80.7 22.7 16 
1962 06 50.2 28.3 11 
1962 07 92.2 18.5 15 
1962 08 99.4 25.8 19 
1962 09 122.4 31.1 19 
1962 10 42.6 15.1 12 
1962 11 105.5 23.7 14 
1962 12 86.4 23.6 18 

其他列總降雨量[2]在陰雨天[4]一個[3]天和場次最多的降雨。

我想找到有史以來最潮溼的一年,但不知道從哪裏開始!

+0

從這裏開始:http://learnpythonthehardway.org/book/ – DBedrenko

+0

我建議你看一下['pandas'](http://pandas.pydata.org/) – atomh33ls

+0

謝謝你採取時間來回答我的查詢! – Aisling

回答

0

17 000行?在12個月的50年中,我找到了600行數據文件的描述,但無論如何,假設數據在一個名爲'data.txt'的文件中,並且每一行都以換行符結束(不會出現在您的示例中)和文件以這個信息,這裏是一個可能的解決方案

wettest_year = 0 
max_rainfall = 0 
with open('data.txt') as flux: 
    for current_year in range(1962, 2011 + 1): 
     current_year_rainfall = 0 
     for current_month in range(12): 
      row = flux.readline().split() 
      month_rainfall = float(row[2]) 
      current_year_rainfall += month_rainfall 
     if current_year_rainfall > max_rainfall: 
      wettest_year = current_year 
      max_rainfall = current_year_rainfall 

wettest_year持有答案

PS:如果這是真的的17個000行的文件,你將需要尋求到的位置數據在輸入for循環之前開始

ps2:假定「最溼潤的一年」是降雨量最多的一個

+0

感謝您的反饋。 – Aisling