import json
import pandas as pd

# 第一个JSON
json_str1 = '{'message': 1000, 'detail': [{'date': 1684291140, 'value': 56.6}, {'date': 1684291200, 'value': 56.9}, {'date': 1684291260, 'value': 56.7}, {'date': 1684291320, 'value': 56.5}, {'date': 1684291380, 'value': 56.7}, {'date': 1684291440, 'value': 56.6}, {'date': 1684291500, 'value': 56.4}, {'date': 1684291560, 'value': 56.2}, {'date': 1684291620, 'value': 56.2}, {'date': 1684291680, 'value': 56.1}, {'date': 1684291740, 'value': 56.1}, {'date': 1684291800, 'value': 56.0}, {'date': 1684291860, 'value': 55.9}, {'date': 1684291920, 'value': 55.8}, {'date': 1684291980, 'value': 55.9}, {'date': 1684292040, 'value': 55.5}, {'date': 1684292100, 'value': 55.3}, {'date': 1684292160, 'value': 55.3}, {'date': 1684292220, 'value': 55.4}, {'date': 1684292280, 'value': 55.4}, {'date': 1684292340, 'value': 55.4}, {'date': 1684292400, 'value': 55.4}, {'date': 1684292460, 'value': 55.4}, {'date': 1684292520, 'value': 55.4}, {'date': 1684292580, 'value': 55.4}, {'date': 1684292640, 'value': 55.3}, {'date': 1684292700, 'value': 55.4}, {'date': 1684292760, 'value': 55.4}, {'date': 1684292820, 'value': 55.4}, {'date': 1684292880, 'value': 55.4}, {'date': 1684292940, 'value': 55.4}, {'date': 1684293000, 'value': 55.4}, {'date': 1684293060, 'value': 55.6}, {'date': 1684293120, 'value': 56.7}, {'date': 1684293180, 'value': 56.4}, {'date': 1684293240, 'value': 55.9}, {'date': 1684293300, 'value': 57.2}, {'date': 1684293360, 'value': 56.5}, {'date': 1684293420, 'value': 56.6}, {'date': 1684293480, 'value': 57.1}, {'date': 1684293540, 'value': 56.7}, {'date': 1684293600, 'value': 56.6}, {'date': 1684293660, 'value': 56.7}, {'date': 1684293720, 'value': 57.2}, {'date': 1684293780, 'value': 57.1}, {'date': 1684293840, 'value': 57.2}, {'date': 1684293900, 'value': 57.0}, {'date': 1684293960, 'value': 56.7}, {'date': 1684294020, 'value': 57.7}, {'date': 1684294080, 'value': 57.1}, {'date': 1684294140, 'value': 57.3}, {'date': 1684294200, 'value': 56.8}, {'date': 1684294260, 'value': 56.8}, {'date': 1684294320, 'value': 56.5}, {'date': 1684294380, 'value': 56.9}, {'date': 1684294440, 'value': 56.6}, {'date': 1684294500, 'value': 57.0}]}'

# 第二个JSON
json_str2 = '{'message': 1000, 'detail': [{'date': 1684291140, 'value': 28.2}, {'date': 1684291200, 'value': 28.4}, {'date': 1684291260, 'value': 28.4}, {'date': 1684291320, 'value': 28.5}, {'date': 1684291380, 'value': 28.6}, {'date': 1684291440, 'value': 28.7}, {'date': 1684291500, 'value': 28.7}, {'date': 1684291560, 'value': 28.8}, {'date': 1684291620, 'value': 28.8}, {'date': 1684291680, 'value': 28.9}, {'date': 1684291740, 'value': 29.0}, {'date': 1684291800, 'value': 29.0}, {'date': 1684291860, 'value': 29.0}, {'date': 1684291920, 'value': 29.1}, {'date': 1684291980, 'value': 29.1}, {'date': 1684292040, 'value': 29.2}, {'date': 1684292100, 'value': 29.1}, {'date': 1684292160, 'value': 29.0}, {'date': 1684292220, 'value': 29.0}, {'date': 1684292280, 'value': 29.0}, {'date': 1684292340, 'value': 29.0}, {'date': 1684292400, 'value': 29.0}, {'date': 1684292460, 'value': 29.0}, {'date': 1684292520, 'value': 29.0}, {'date': 1684292580, 'value': 29.0}, {'date': 1684292640, 'value': 29.0}, {'date': 1684292700, 'value': 28.9}, {'date': 1684292760, 'value': 28.9}, {'date': 1684292820, 'value': 28.9}, {'date': 1684292880, 'value': 28.9}, {'date': 1684292940, 'value': 28.9}, {'date': 1684293000, 'value': 28.8}, {'date': 1684293060, 'value': 28.9}, {'date': 1684293120, 'value': 29.1}, {'date': 1684293180, 'value': 29.2}, {'date': 1684293240, 'value': 29.3}, {'date': 1684293300, 'value': 29.3}, {'date': 1684293360, 'value': 29.3}, {'date': 1684293420, 'value': 29.4}, {'date': 1684293480, 'value': 29.4}, {'date': 1684293540, 'value': 29.4}, {'date': 1684293600, 'value': 29.5}, {'date': 1684293660, 'value': 29.5}, {'date': 1684293720, 'value': 29.6}, {'date': 1684293780, 'value': 29.6}, {'date': 1684293840, 'value': 29.6}, {'date': 1684293900, 'value': 29.5}, {'date': 1684293960, 'value': 29.5}, {'date': 1684294020, 'value': 29.5}, {'date': 1684294080, 'value': 29.6}, {'date': 1684294140, 'value': 29.6}, {'date': 1684294200, 'value': 29.6}, {'date': 1684294260, 'value': 29.6}, {'date': 1684294320, 'value': 29.7}, {'date': 1684294380, 'value': 29.7}, {'date': 1684294440, 'value': 29.7}, {'date': 1684294500, 'value': 29.7}, {'date': 1684294560, 'value': 29.7}, {'date': 1684294620, 'value': 29.7}]}'

# 将JSON字符串转换为Python字典
json_dict1 = json.loads(json_str1)
json_dict2 = json.loads(json_str2)

# 创建一个空列表来存储合并后的数据
combined_data = []

# 遍历两个JSON的detail列表
for i in range(len(json_dict1['detail'])):
    # 提取date和value
    date = json_dict1['detail'][i]['date']
    value1 = json_dict1['detail'][i]['value']
    value2 = json_dict2['detail'][i]['value']
    
    # 创建新的字典并加入到combined_data列表
    combined_data.append({'date': date, 'value1': value1, 'value2': value2})

# 使用pandas将列表转换为DataFrame
combined_df = pd.DataFrame(combined_data)

# 保存为CSV文件
combined_df.to_csv('combined_data.csv', index=False)

代码解析:

  1. 首先将两个JSON字符串分别转换为Python中的字典类型。
  2. 创建一个空列表combined_data用于存储合并后的数据。
  3. 遍历两个JSON字典中的detail列表。
  4. 提取每个元素中的datevalue
  5. date, value1, value2组合成一个新的字典。
  6. 将新的字典添加到combined_data列表中。
  7. 使用pandas库将combined_data列表转换为DataFrame
  8. DataFrame保存为名为combined_data.csv的CSV文件。

使用示例:

运行上述代码后,将生成一个名为combined_data.csv的CSV文件,其中包含以下格式的数据:

date,value1,value2
1684291140,56.6,28.2
1684291200,56.9,28.4
...
将两个JSON数据合并为包含date, value1, value2的格式

原文地址: https://www.cveoy.top/t/topic/n8jc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录