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

如何将爬取的FT基金历史数据保存为多个对应ISIN命名的.csv文件

修复方案

文件名导出问题

原代码循环中固定使用my data.csv作为文件名,每次循环都会覆盖上一次的导出结果。只需从当前请求url中拆分提取出ISIN编码作为文件名即可,注意Windows系统不支持文件名带冒号,可将ISIN中的冒号替换为下划线避免报错。

日期重复问题

该现象是因为金融时报网页的日期单元格内同时嵌套了长、短两个格式的日期文本,pandas读取HTML表格时会将单元格内所有文本拼接,导致出现重复。通过正则匹配提取到年份为止的前半段日期,即可清洗掉重复的短日期内容。

完整修改后代码

import requests
import pandas as pd

# 替换为你完整的40只基金url列表
urls = ['https://markets.ft.com/data/funds/tearsheet/historical?s=LU0526609390:EUR', 'https://markets.ft.com/data/funds/tearsheet/historical?s=IE00BHBX0Z19:EUR', '......']

for url in urls:
    # 提取当前url对应的ISIN编码
    isin = url.split('s=')[-1]
    html = requests.get(url).content
    df_list = pd.read_html(html)
    df = df_list[-1]
    # 清洗第一列(日期列)的重复内容
    df.iloc[:, 0] = df.iloc[:, 0].str.extract(r'(^.*\d{4})')
    print(df)
    # 导出为对应ISIN命名的csv,自动替换冒号避免文件名报错,去掉多余索引列
    df.to_csv(f"{isin.replace(':','_')}.csv", index=False, encoding='utf-8-sig')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:27:02