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

如何将网页爬取的两个列表数据转换为单个字典?

英伟达财务数据配对与中文转换实现

1. 数据收集优化

先修改代码,将比率名称和数值分别收集为结构化列表(替代直接打印元素):

# 收集英文比率名称,自动清理首尾空格
ratio_names = [elem.get_text(strip=True) for elem in soup.find_all('span', attrs={'class': 'float_lang_base_1'})]

# 收集比率数值,清理多余空格
ratio_values = [val.get_text(strip=True) for val in soup.find_all('span', attrs={'class': 'float_lang_base_2 text_align_lang_base_2 dirLtr bold'})]

2. 生成英文键值对

通过zip将两个列表配对为字典:

financial_ratios_en = dict(zip(ratio_names, ratio_values))

3. 中文翻译与转换

创建中英文指标映射表,生成中文键值对:

# 财务指标中英文映射
cn_translation = {
    "Gross margin": "毛利率",
    "Operating margin": "营业利润率",
    "Net Profit margin": "净利润率",
    "Return on Investment": "投资回报率",
    "Quick Ratio": "速动比率",
    "Current Ratio": "流动比率",
    "LT Debt to Equity": "长期债务权益比",
    "Total Debt to Equity": "总债务权益比",
    "Cash Flow/Share": "每股现金流",
    "Revenue/Share": "每股营收",
    "Operating Cash Flow": "经营现金流"
}

# 转换为中文键值对
financial_ratios_cn = {cn_translation[key]: value for key, value in financial_ratios_en.items()}

4. 转换为DataFrame

导入pandas将字典转为结构化表格:

import pandas as pd

df = pd.DataFrame(list(financial_ratios_cn.items()), columns=["财务指标", "数值"])
print(df)

最终中文键值对效果

  • 毛利率 : 60.45%
  • 营业利润率: 31.47%
  • 净利润率: 26.03%
  • 投资回报率: 22.86%
  • 速动比率: 2.95
  • 流动比率: 3.62
  • 长期债务权益比: -
  • 总债务权益比: 49.02%
  • 每股现金流: -
  • 每股营收: -
  • 经营现金流: 16.77%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:54:33