#!/usr/bin/env python3 """ 货币/汇率转换模板 将指定列的金额从一种货币转换为另一种货币 """ import pandas as pd import sys from pathlib import Path def main(): # 参数配置 file_path = "{file}" output_path = "{output}" column = "{column}" # 要转换的列名 from_currency = "{from_currency}" # 原货币 to_currency = "{to_currency}" # 目标货币 rate = {rate} # 汇率(默认1,实际使用时需要提供) # 读取文件 df = pd.read_excel(file_path) if column not in df.columns: print(f"错误: 列 '{column}' 不存在") print(f"可用列: {list(df.columns)}") sys.exit(1) # 转换货币 original_values = df[column].copy() df[column] = df[column] * rate # 添加元数据列(可选) if "{add_meta}" == "true": df[f"{column}_original"] = original_values df[f"{column}_rate"] = rate df[f"{column}_currency"] = to_currency # 保存结果 df.to_excel(output_path, index=False) print(f"货币转换完成") print(f"文件: {{file_path}}") print(f"列: {{column}}") print(f"从 {{from_currency}} 转换为 {{to_currency}}") print(f"汇率: {{rate}}") print(f"输出: {{output_path}}") # 显示统计信息 print(f"\n转换统计:") print(f" 总行数: {{len(df)}}") print(f" 原始总和: {{original_values.sum():.2f}} {{from_currency}}") print(f" 转换后总和: {{df[column].sum():.2f}} {{to_currency}}") if __name__ == "__main__": main()