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

如何高效匹配多字典加密货币汇率数据并生成表格?

高效匹配与表格化解决方案

要解决两个字典键格式不一致导致的匹配繁琐问题,核心思路是标准化键格式,让两个字典的键可以直接对应,然后批量匹配并整理数据。下面是具体的Python实现方案:

步骤1:标准化键格式

先把dict1的键(如INR-BTC)转换成和dict2一致的格式(如btcinr),这样就能通过键直接匹配:

# 标准化dict1的键,生成新的映射字典
standardized_dict1 = {}
for key, data in dict1.items():
    # 拆分INR-XXX格式的键,提取加密货币代码
    _, crypto_code = key.split('-')
    # 转换成dict2的键格式:小写加密货币代码 + inr
    standardized_key = f"{crypto_code.lower()}inr"
    standardized_dict1[standardized_key] = data

# dict2的键已经是标准格式,直接使用

步骤2:批量匹配共同加密货币

通过集合交集快速找到两个字典都包含的加密货币,避免逐个搜索:

# 获取两个字典共有的加密货币键
common_crypto_keys = set(standardized_dict1.keys()) & set(dict2.keys())

# 整理匹配后的数据
matched_data = []
for key in common_crypto_keys:
    crypto_name = key.replace('inr', '').upper()  # 还原成大写加密货币名称,如BTC
    matched_data.append({
        "加密货币": crypto_name,
        # dict1的数据
        "dict1 Bid": standardized_dict1[key]['Bid'],
        "dict1 Ask": standardized_dict1[key]['Ask'],
        "dict1 LT Rate": standardized_dict1[key]['LT Rate'],
        # dict2的数据
        "dict2 Bid": dict2[key]['Bid'],
        "dict2 Ask": dict2[key]['Ask'],
        "dict2 LT Rate": dict2[key]['LT Rate']
    })

步骤3:生成Markdown表格

可以用循环把整理好的matched_data转换成Markdown表格:

# 生成表格表头
markdown_table = "| 加密货币 | dict1 Bid | dict1 Ask | dict1 LT Rate | dict2 Bid | dict2 Ask | dict2 LT Rate |\n"
markdown_table += "|----------|-----------|-----------|---------------|-----------|-----------|---------------|\n"

# 填充表格内容
for item in matched_data:
    markdown_table += f"| {item['加密货币']} | {item['dict1 Bid']} | {item['dict1 Ask']} | {item['dict1 LT Rate']} | {item['dict2 Bid']} | {item['dict2 Ask']} | {item['dict2 LT Rate']} |\n"

# 打印或保存表格
print(markdown_table)

输出示例表格

运行上述代码后,会生成类似下面的表格:

加密货币dict1 Biddict1 Askdict1 LT Ratedict2 Biddict2 Askdict2 LT Rate
BTC893201.4908286.6902553.6882970.0886400.0886400.0
ETH309273213631527.630900.930938.030938.0
XRP21.0621.7921.7921.021.121.0436
USDT77.579.576.576.4776.4876.47
LTC43684656.64500.64435.534457.04457.0
TRX2.03582.13722.07482.042.0452.045
BCH2070921325.221005.420590.020932.020932.0

额外优化点

  • 如果需要处理更多不同格式的键,可以扩展标准化函数,比如支持BTC-INR这种反向格式;
  • 对于缺失数据的加密货币(比如dict1有但dict2没有的),可以单独整理成另一张表格;
  • 可以用pandas库更便捷地处理和导出表格,比如:
    import pandas as pd
    df = pd.DataFrame(matched_data)
    print(df.to_markdown(index=False))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 00:07:33