码迷,mamicode.com
首页 > 编程语言 > 详细

Python计算国际交换站单日及每月平均气温

时间:2015-12-16 00:04:48      阅读:348      评论:0      收藏:0      [点我收藏+]

标签:

数据来源:rp5网站

下载数据样式:选择UTF-8编码。下载后解压得到 xxx.csv 文件

计算目标:包含每个月的平均气温和当月每一天的平均气温,按月命名并存储在相应文件中。

技术分享

数据格式:

技术分享

注意:

  1. 每日平均气温包含时次:02,08,14,20。初始数据包含时次中05,11,17,23时没有用处。
  2. 可能文件中某些日期有缺失的时次,如果有就不计算当天均温。计算月均温时总日数不包括缺失的这天。

代码:

 1 #!/usr/bin/env python3
 2 def calcTemp(t_file):
 3     with open(t_file, r) as f:
 4         line = f.readline()
 5         while line.startswith(#):
 6             line = f.readline()
 7         time = (20, 14, 08, 02)
 8         line = f.readline()
 9         while True:
10             if not line:
11                 break
12             L, _sum, month = [], 0, line[4:6]
13             result = open(averageTemp + month, w)
14             while True:
15                 day = line[1:3]
16                 for i in range(4):
17                     if line[12:14] != time[i]:
18                         break
19                     try:
20                         _sum += float(line.split(;)[1].replace(", ‘‘))
21                     except:
22                         break
23                     if i != 3:
24                         f.readline()
25                         line = f.readline()
26                 else:
27                     result.writelines(
28                         day + : + str(round(_sum / 4, 1)) + \n)
29                     L.append(round(_sum / 4, 1))
30                 line = f.readline()
31                 _sum = 0
32                 if line[4:6] != month:
33                     result.writelines(month + 月平均气温: +
34                                       str(round(sum(L) / len(L), 1)))
35                     result.close()
36                     break
37     print(completed)
38 
39 
40 if __name__ == __main__:
41     import sys
42     if len(sys.argv) != 2:
43         raise ValueError(需要一个文件名参数)
44     calcTemp(sys.argv[1])

 

 

使用方法:

python3 文件名.py 数据文件.csv

计算结果:

技术分享

单个文件:

技术分享

 

Python计算国际交换站单日及每月平均气温

标签:

原文地址:http://www.cnblogs.com/aeropig/p/avgtemp.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!