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

如何使用Pandas将特定结构CSV数据转换为指定格式JSON

你可以直接使用以下代码完成格式转换,输出结果和你要求的JSON结构完全匹配:

import json
import numpy as np

# 转换日期为字符串列表
dates_list = [str(date.item()) if isinstance(date, np.generic) else str(date) for date in dates]

# 初始化points字典
points_content = {
    "dates": dates_list
}

# 遍历所有点位生成对应结构
for i in range(len(lon_all)):
    # 处理numpy类型转原生Python类型+统一转字符串,匹配示例格式
    lon = str(lon_all[i][0].item()) if isinstance(lon_all[i][0], np.generic) else str(lon_all[i][0])
    lat = str(lat_all[i][0].item()) if isinstance(lat_all[i][0], np.generic) else str(lat_all[i][0])
    val = str(val_all[i][0].item()) if isinstance(val_all[i][0], np.generic) else str(val_all[i][0])
    measurements = [str(m.item()) if isinstance(m, np.generic) else str(m) for m in measurements_all[i]]
    
    # 点位索引用字符串类型作为key
    points_content[str(i)] = {
        "lon": lon,
        "lat": lat,
        "measurements": measurements,
        "val": val
    }

# 封装最终结构
final_result = {
    "points": points_content
}

# 格式化输出JSON,缩进和示例一致
print(json.dumps(final_result, indent=4, ensure_ascii=False))
# 如果要保存到文件,使用下面的代码
# with open("output.json", "w", encoding="utf-8") as f:
#     json.dump(final_result, f, indent=4, ensure_ascii=False)

说明:

  • 代码中额外增加了numpy类型兼容处理,避免numpy数值类型直接序列化JSON时出现报错
  • 所有字段都统一转换为字符串格式,和你给出的示例结构完全对齐
  • indent=4参数可以保证输出的JSON缩进效果和示例一致,不需要格式化输出可以直接去掉该参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:45:01