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

Python函数定义语法错误求助:使用Pandas排序并列出Excel候选人数据

Python函数定义语法错误求助:使用Pandas排序并列出Excel候选人数据

嘿,我看到你的代码里有几个关键的语法和逻辑问题,这就帮你一步步修正过来:

主要问题分析

  • 函数定义语法错误:你在定义sort_and_list_candidates时,直接把字符串常量(比如文件路径、表名)写在了形参位置,这完全不符合Python的函数定义规则——形参必须是变量名,不能是具体的字符串值。
  • 路径转义问题:Windows路径里的\是转义字符,直接写会导致解析错误,得用原始字符串(加r前缀)或者把\替换成\\。
  • 异常处理变量未定义:FileNotFoundError分支里用了file_path,但函数里没定义这个变量,应该用传入的函数参数。
  • 函数硬编码内容:函数内部直接写死了文件路径和表名,完全没用到传入的参数,失去了函数的复用性。

修正后的完整代码

import pandas as pd

def sort_and_list_candidates(file_path, sheet_name, sort_by_column='Name', ascending=True):
    try:
        # 使用函数传入的参数读取Excel,而不是硬编码
        df = pd.read_excel(file_path, sheet_name)
        sorted_df = df.sort_values(by=sort_by_column, ascending=ascending)
        print(sorted_df)
        return sorted_df
    except FileNotFoundError:
        # 这里用传入的file_path参数
        print(f"Error: File '{file_path}' not found.")
    except Exception as e:
        print(f"An error occurred: {str(e)}")

# 定义路径和表名,用原始字符串处理Windows路径
file_path = r"C:\Users\Sonu Priya R\OneDrive\Desktop\Python Project\Candidates.xlsx"
sheet_name = 'Candidates'

# 调用函数,传入参数
sorted_candidates = sort_and_list_candidates(file_path, sheet_name, sort_by_column='work_experience', ascending=True)

简单说明

  • 现在函数的形参都是合法的变量名,调用时再传入具体的路径、表名等参数,这样函数可以复用在不同的Excel文件上。
  • 路径用了r前缀的原始字符串,避免了转义字符的问题。
  • 异常处理里的file_path现在是函数的参数,能正确提示找不到的文件路径。

备注:内容来源于stack exchange,提问作者sonupriya Ravikumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:42:59