如何在Python Pandas中实现参数可为空的条件判断函数
问题根因
原函数判断逻辑不生效的核心原因如下:
- 函数参数
path未设置默认空值,调用时如果不传参会直接触发参数缺失报错,无法进入if path:判断分支 - 未将读取到的
df作为返回值返回,调用函数无法拿到结果 - 缺少异常分支处理,未覆盖输入客户类型非A/B的场景
修改后可直接运行的代码
import pandas as pd def fk(path: str = ""): # 传入有效路径时优先读取指定路径文件 if path.strip(): df = pd.read_csv(path) else: client_type = input("请输入客户类型(A/B): ").strip().upper() if client_type == "A": df = pd.read_csv("Data/Client_A") elif client_type == "B": df = pd.read_csv("Data/Client_B") else: raise ValueError("客户类型仅支持输入A或B,请检查输入内容") return df
关键修改说明
- 给
path参数设置默认值为空字符串,未传参时可正常进入等待用户输入的分支 - 将
if path:调整为if path.strip(),避免传入全空格的无效路径时误判为有效路径 - 给输入框增加提示语,同时对输入内容做去空格、转大写处理,降低用户输入大小写、前后带空格的误判概率
- 补充非A/B输入的异常抛出逻辑,避免无有效返回的问题
- 函数末尾添加
return df,调用后可直接获取读取完成的DataFrame对象 - 删除冗余的f-string包裹
path的写法,直接传入路径参数即可
内容的提问来源于stack exchange,提问作者dingaro
相关产品推荐
相关产品推荐

