如何将函数返回的列表传入新函数,按用户指定路径导出为CSV
save_qualifying_loans 函数实现方案
前置依赖
首先在代码开头导入所需标准库,无需额外安装第三方依赖:
import sys import csv import tkinter as tk from tkinter import filedialog # 初始化tkinter并隐藏主窗口,仅保留文件选择弹窗 root = tk.Tk() root.withdraw()
函数完整实现代码
def save_qualifying_loans(qualifying_loans): # 校验贷款列表是否为空 if not qualifying_loans: print("未匹配到符合要求的贷款,程序即将退出") sys.exit() # 弹出图形化窗口让用户选择保存路径 save_path = filedialog.asksaveasfilename( defaultextension=".csv", filetypes=[("CSV 格式文件", "*.csv"), ("所有文件", "*.*")], title="请选择合格贷款列表的保存位置" ) # 处理用户取消选择路径的场景 if not save_path: print("未选择保存路径,程序即将退出") sys.exit() # 写入CSV文件,表头可根据bank_data的实际字段结构调整 csv_headers = ["银行名称", "最高授信额度", "最低信用分要求", "最高DTI比率要求", "最高LTV比率要求", "年化利率"] try: with open(save_path, mode="w", newline="", encoding="utf-8") as f: writer = csv.writer(f) # 写入表头 writer.writerow(csv_headers) # 批量写入所有贷款数据 writer.writerows(qualifying_loans) print(f"合格贷款列表已成功保存至:{save_path}") except Exception as e: print(f"文件保存失败,错误信息:{str(e)}") sys.exit()
纯命令行场景适配方案
如果运行环境无图形界面,不需要弹出文件选择窗口,可将上述路径选择部分替换为命令行输入逻辑:
# 替换原有路径选择代码段即可 save_path = input("请输入CSV文件的完整保存路径(例:/data/qualifying_loans.csv):").strip() if not save_path.endswith(".csv"): save_path += ".csv"
调用方式
在原有逻辑中获取到合格贷款列表后直接调用即可:
qualifying_loans = find_qualifying_loans(bank_data, credit_score, debt, income, loan, home_value) save_qualifying_loans(qualifying_loans)
内容的提问来源于stack exchange,提问作者Max Acheson
相关产品推荐
相关产品推荐

