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

Python中合并接口数据为DataFrame并导出至原Excel的方法

解决方案

1. 合并字典列表为DataFrame并与原数据对齐

假设你的字典列表名为price_change_list,每个元素是包含股票代码及对应时段涨跌幅的字典(例如{'Symbol': 'MSFT', '1日涨': 1.2, '周涨': 3.5})。以下是实现步骤:

首先读取原Excel数据:

import pandas as pd

# 读取原Excel文件
df_original = pd.read_excel('allstockdata.xlsx')

将字典列表转换为DataFrame,然后按原数据的Symbols列进行左合并,确保行数完全匹配(原数据4500行保持不变,接口未返回的股票对应列填充NaN):

# 将字典列表转为DataFrame
df_change = pd.DataFrame(price_change_list)

# 按Symbols列左合并,确保对齐原数据的顺序和行数
df_merged = df_original.merge(df_change, left_on='Symbols', right_on='Symbol', how='left').drop(columns='Symbol')

如果你的字典列表里每个元素直接对应原数据行的嵌套字典(比如原数据第i行对应字典{'1日涨': 0.8, '月涨': -2.1}),无需匹配Symbol,直接将列表转为DataFrame后拼接即可:

# 直接将字典列表转为DataFrame,与原数据列拼接
df_change = pd.DataFrame(price_change_list)
df_merged = pd.concat([df_original, df_change], axis=1)

2. 导出回原Excel文件

使用pandas.ExcelWriter将合并后的DataFrame写入原文件,可选择覆盖原工作表或新增工作表:

覆盖原工作表

with pd.ExcelWriter('allstockdata.xlsx', mode='w', engine='openpyxl') as writer:
    df_merged.to_excel(writer, index=False, sheet_name='Sheet1')

新增工作表(保留原数据)

with pd.ExcelWriter('allstockdata.xlsx', mode='a', engine='openpyxl', if_sheet_exists='new') as writer:
    df_merged.to_excel(writer, index=False, sheet_name='合并后数据')

注意:使用openpyxl引擎需要提前安装,可通过pip install openpyxl完成安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:15:16