python读取文件求气温平均值_【图片】求帮助!!用python处理一些天气文件_python吧_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import csv

import re

import time

with open(r'janfeb2019.csv', 'r', encoding='utf-8')as file:

lines = csv.reader(file)

list1 = list(lines)

# 获取日期

datetimes1 = set(map(lambda x: re.match('\d+/\d+/\d+', x[3]).group(), list1[1:]))

# 补全日期和24小时

dt = [f'{i} {j}:00' for i in datetimes1 for j in range(24)]

# 重新生成个字典,保存区间的温度值

dict_dt = {x: [] for x in dt}

for i in list1[1:]:

# 获取日期小时然后获取温度用

date_time = re.match('\d+/\d+/\d+ \d+', i[3]).group()

dict_dt.get(f'{date_time}:00', []).append(float(i[4]))

# 求小时内的平均值,没有的None

dict_dt = {key: round(sum(value) / len(value), 1) if value else None for key, value in dict_dt.items()}

# 按日期时间排个序

sort_dt = sorted(dict_dt.items(), key=lambda x: time.strptime(x[0], "%m/%d/%Y %H:%M"))

# 排除小时内完全没数据的,重新生成一份列表

date_t = []

for i in sort_dt:

if i[1]:

date_t.append(['PER_WEATHER_KING_GATE_WEATHER', 'Temperature,Celsius', i[0], i[1], 'FALSE'])

# 替换原本的内容

list1[1:] = date_t

# 重新写入保存

with open(r'new_janfeb2019.csv', 'w', encoding='utf-8', newline='') as csvFile:

writer = csv.writer(csvFile)

writer.writerows(list1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值