You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按日期维度拆分大型JSON气象数据,将同维度数据存入对应文件

解决方案

核心逻辑是先按目标时间维度(月份/日期)分组聚合数据,所有数据处理完成后再统一写入文件,避免单条数据反复IO的同时保证输出JSON格式合法。

调整后完整代码

import json
from datetime import datetime

# 初始化分组字典,key为时间维度字符串,value为对应数据列表
grouped_data = {}

with open('data.json','r', encoding='utf8') as f:
    d = json.load(f)
    hourly_list = d['hourly']

    for item in hourly_list:
        timestamp = item['dt']
        dt_obj = datetime.fromtimestamp(timestamp)
        # 按月份分组用 '%Y-%m',按日期分组用 '%Y-%m-%d'
        group_key = dt_obj.strftime('%Y-%m')
        # 格式化dt字段为指定时间字符串
        item['dt'] = dt_obj.strftime('%Y-%m-%d %H:%M:%S')
        
        # 把当前条目加入对应分组
        if group_key not in grouped_data:
            grouped_data[group_key] = []
        grouped_data[group_key].append(item)

# 所有数据分组完成后统一写入文件
for time_key, items in grouped_data.items():
    file_name = f"{time_key}.json"
    with open(file_name, 'w', encoding='utf-8') as out_f:
        json.dump(items, out_f, indent=4, ensure_ascii=False)

改动说明

  • 新增中间分组存储字典,避免每处理一条数据就触发一次文件IO,运行效率更高
  • 直接从datetime对象提取分组维度,不需要从完整时间字符串中二次截取,逻辑更简洁
  • 统一写入时直接输出数组结构,保证每个导出的JSON文件都是标准合法格式,后续读取无需额外处理

内容的提问来源于stack exchange,提问作者aerioeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:15:04