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

迭代列表查询结果追加列表输出异常,如何合并原列表与结果为DataFrame

问题1:修复列表追加的异常输出

你描述的「每次append后打印lst,逐次输出长度递增的列表」本身属于正常执行逻辑,是因为你把print(lst)写在了for循环内部,每次新增元素后都会打印当前列表的完整内容。如果仅需要获取最终的完整结果列表,调整打印语句的位置即可,正确写法如下:

# 空列表初始化必须放在for循环外部,避免每次循环被重置
base_holding_list = []
for holding_id in Peer_List_Members:
    base_id = ID_Search(str(holding_id))
    base_holding_list.append(base_id)
# 仅在循环结束后打印一次完整列表
print(base_holding_list)

如果调整后仍出现输出异常,可检查是否存在循环内重复初始化列表、函数返回值重复的问题。

问题2:合并为Pandas DataFrame

直接将两个列表传入DataFrame构造函数,自定义对应的列名即可:

import pandas as pd

result_df = pd.DataFrame({
    "HoldingID": Peer_List_Members,
    "BaseHoldingID": base_holding_list
})
可选优化建议

原ID_Search函数直接拼接SQL字符串存在SQL注入风险,同时未处理查询无结果的场景,可调整为参数化查询的写法:

def ID_Search(input_id): 
    returns_name = pd.read_sql_query("""
    SELECT BaseHoldingID
    FROM Holdings
    WHERE HoldingID = %s
    """, conn, params=(input_id,))
    if not returns_name.empty:
        return returns_name['BaseHoldingID'].iloc[0]
    # 查询无结果时返回空值,避免索引报错
    return None

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:24:03