Python 名称错误:名称';res';没有定义 我得到以下错误:

Python 名称错误:名称';res';没有定义 我得到以下错误:,python,Python,NameError回溯(最近一次呼叫上次) 在里面 81.保存 82 --->83编写excel(res) 八十四 NameError:未定义名称“res” 你能帮忙吗?:) 代码的最后一行write\u excel(res)引用了代码中未定义的变量res 错误消息NameError:name'res'未定义应该可以让您了解在未使用函数的情况下定义函数的情况def read_merge(文件):不会自动调用包含所需文件的函数返回(合并输出)不会自动将其馈送到删除字符串(合并输出)。您已经在def

NameError回溯(最近一次呼叫上次) 在里面 81.保存 82 --->83编写excel(res) 八十四

NameError:未定义名称“res”

你能帮忙吗?:)


代码的最后一行
write\u excel(res)
引用了代码中未定义的变量
res


错误消息
NameError:name'res'未定义
应该可以让您了解在未使用函数的情况下定义函数的情况
def read_merge(文件):
不会自动调用包含所需文件的函数<代码>返回(合并输出)不会自动将其馈送到
删除字符串(合并输出)
。您已经在def项目中定义了“res”。但是,如果您在最后一行中看到缩进,则在其外部使用它。这就是为什么系统会抛出一个错误,指出未定义“res”。如果您想继续以这种方式使用它,则需要在开始使用它之前在代码的最开始处全局声明它。
def read_merge(file):
    """" read files and merge the data """
    
    username = pd.read_csv('file.csv', delimiter = ';')
    merged_output = pd.read_excel('file-1.xlsx')
    merged_output = pd.merge(merged_output, username, how='left', left_on=['h'], right_on=['h2'])
    merged_output = merged_output.drop(columns=['h2'])
    return(merged_output)


def remove_string(merged_output):
    """" remove rows containing strings from list_string """
    
    list_string = ["obj-1", "obj-2"]
    res = merged_output[~merged_output['Rule'].isin(list_string)]
    return res


def add_agg_columns(res):
    """"aggregate columns"""
    
    res = res.groupby('Entity_Name').agg({'Rule': ', '.join, 
                                          'Name':'first',
                                          'Area': 'first',
                                          'Summary': 'first'}).reset_index()
    
                     
def write_excel(res):
    """"Write Excel document"""
    
    writer = pd.ExcelWriter(r"C:\PATH\output.xlsx", engine = 'xlsxwriter')  
    workbook=writer.book
    worksheet=workbook.add_worksheet('SHEET')
    writer.sheets['SHEET'] = worksheet
    res.to_excel(writer, sheet_name='SHEET', startcol = 0, startrow = 0)
    
    
    writer.save()
    
write_excel(res)