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

如何用Python将JSON中的'Keys'键替换为其对应值?

解决方案:替换JSON中的'Keys'键为对应值并导出CSV

完全可行,下面提供两种实现方式:纯Python处理JSON结构,以及用Pandas转换并导出CSV。

一、纯Python处理JSON结构

直接遍历嵌套的Groups列表,替换每个字典中的Keys键:

# 原始JSON数据
data = {
    'TimePeriod': {'Start': '2022-11-28', 'End': '2022-11-29'},
    'Total': {},
    'Groups': [
        {'Keys': ['AWS Backup'], 'Metrics': {'UnblendedCost': {'Amount': '0.000000111', 'Unit': 'USD'}}},
        {'Keys': ['AWS Direct Connect'], 'Metrics': {'UnblendedCost': {'Amount': '0.0000111', 'Unit': 'USD'}}},
        {'Keys': ['AWS Key Management Service'], 'Metrics': {'UnblendedCost': {'Amount': '0.000000111', 'Unit': 'USD'}}}
    ]
}

# 处理每个Group条目
for idx, group in enumerate(data['Groups']):
    # 提取Keys列表中的第一个元素作为新键(示例中为单元素列表)
    service_key = group.pop('Keys')[0]
    # 添加新的键值对
    data['Groups'][idx][service_key] = [service_key]

处理后Groups中的每个条目会变成:

{'Metrics': {'UnblendedCost': {'Amount': '0.000000111', 'Unit': 'USD'}}, 'AWS Backup': ['AWS Backup']}

二、用Pandas转换并导出CSV

如果最终目标是导出CSV,直接将数据整理成表格结构更高效:

import pandas as pd

# 提取公共时间区间
time_start = data['TimePeriod']['Start']
time_end = data['TimePeriod']['End']

# 构建CSV行数据
csv_rows = []
for group in data['Groups']:
    # 提取服务名称(替换后的键)
    service_name = group['Keys'][0]
    # 提取成本数据
    cost_amount = group['Metrics']['UnblendedCost']['Amount']
    cost_unit = group['Metrics']['UnblendedCost']['Unit']
    
    csv_rows.append({
        '时间起始': time_start,
        '时间结束': time_end,
        '服务名称': service_name,
        '成本金额': cost_amount,
        '成本单位': cost_unit
    })

# 转换为DataFrame并导出CSV
df = pd.DataFrame(csv_rows)
df.to_csv('aws成本数据.csv', index=False, encoding='utf-8-sig')

导出的CSV结构会是:

时间起始时间结束服务名称成本金额成本单位
2022-11-282022-11-29AWS Backup0.000000111USD
2022-11-282022-11-29AWS Direct Connect0.0000111USD
2022-11-282022-11-29AWS Key Management Service0.000000111USD

注意事项

  • 如果Keys列表包含多个元素,可根据需求调整逻辑(比如用逗号拼接成字符串,或拆分为多行)。
  • 导出CSV时指定encoding='utf-8-sig'可避免中文乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:15:33