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

如何编写循环切换DataFrame名称 为每个DataFrame生成对应请求URL

首先改造原create_url函数,将DataFrame作为入参传入,同时修复原代码中变量名不一致的笔误(原代码中定义变量df_id后错误调用了不存在的df_id1):

def create_url(df):
    # 拼接id参数,移除多余空格和列表括号
    df_id = str(df['id'].tolist())[1:-1].replace(" ", "")
    ids_param = f"ids={df_id}"
    url = f"https://api.twitter.com/2/tweets?{ids_param}&{tweet_fields}"
    return url

接下来根据你dfs列表的存储内容选择对应的循环方案即可:

方案1(推荐):用字典存储生成的URL

后续可直接通过urls['url1']、urls['url2']的形式调用对应URL,批量处理时遍历字典即可,管理成本更低。

  • 如果dfs是DataFrame对象列表:
urls = {}
# start=1表示序号从1开始计数,对应url1、url2的命名规则
for idx, df in enumerate(dfs, start=1):
    urls[f'url{idx}'] = create_url(df)
  • 如果dfs是DataFrame名称的字符串列表(比如['df1', 'df2', 'df3']):
urls = {}
for idx, df_name in enumerate(dfs, start=1):
    # 从全局变量中取对应名称的DataFrame对象
    df = globals()[df_name]
    urls[f'url{idx}'] = create_url(df)

方案2(不推荐):生成独立的url1、url2全局变量

如果必须要生成独立的全局变量,可以用以下代码实现,缺点是变量零散,后续批量处理难度高:

for idx, df in enumerate(dfs, start=1):
    globals()[f'url{idx}'] = create_url(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:36:04