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

如何用Python提取Amount后的数字及货币代码至两列

用Python提取金额数字与货币代码并分栏存储

可以用正则表达式匹配目标内容,再借助pandas将提取结果存入不同列,具体实现如下:

核心思路

通过正则表达式精准匹配Amount:后的金额数字(支持整数、小数格式)和货币代码(大写字母标识),再将提取到的两组数据整理成DataFrame的两列。

代码实现

import re
import pandas as pd

# 你的示例文本集合
sample_texts = [
    "退款成功。IBE payment ID 79104467 | Transaction-ref: 73462794 | Amount: 50.00 EUR",
    "通过Hyperwallet完成退款。Transaction-ref: 48886217 | Amount: 214.64 USD | Hyperwallet payout id: 581082-2"
]

# 正则匹配规则:捕获Amount后的数字(含小数)和货币代码
pattern = re.compile(r'Amount: (\d+\.?\d*) ([A-Z]+)')

# 批量提取数据
extracted_data = []
for text in sample_texts:
    match_result = pattern.search(text)
    if match_result:
        # 提取捕获组中的内容:第一个是金额,第二个是货币代码
        amount_val = match_result.group(1)
        currency_val = match_result.group(2)
        extracted_data.append({'amount': amount_val, 'currency': currency_val})

# 转换为DataFrame,自动分成两列
result_df = pd.DataFrame(extracted_data)
print(result_df)

输出结果

amount currency
0    50.00      EUR
1   214.64      USD

额外优化说明

  • 如果需要将金额转为数值类型(方便后续计算),可以添加一行:
    result_df['amount'] = pd.to_numeric(result_df['amount'])
    
  • 如果单条文本中存在多个Amount条目,改用pattern.findall(text)来提取所有匹配项即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:35:17