这可能是一个带有明显答案的问题,但我似乎无法弄清楚这里出了什么问题。
def conv_pd_df():
spreadsheet = client.open(spreadsheet_id).sheet1
data = spreadsheet.get_all_values()
index = str(data[0][0])
headers = data.pop(0)
df = pd.DataFrame(data, columns=headers, index=None)
df = df.set_index(index)
mask = df.applymap(lambda x: key in str(x))
df1 = df[mask.any(axis=1)]
return df1
def highlight(df1):
for x in df1:
print(x) # filler
if __name__ == '__main__':
conv_pd_df()
highlight(df1) # this is where the error is
Run Code Online (Sandbox Code Playgroud)
highlight(df1)尝试执行代码时,我不断收到“未解决的引用” 。我尝试在开始时尝试创建一个空白的df = df1,以尝试解决该问题,但仍然给我同样的错误。我以为我正确传递了变量,那么这是怎么回事?即使我不放if __name__ == '__main__':,也直接直接运行函数,就会发生这种情况。
它从下面的代码开始,此时if __name__ == '__main__':您没有df1定义变量。将df1在conv_pd_df()该函数的范围只存在
你应该设置df1在__main__相等的回报conv_pd_df()
df1 = conv_pd_df()
Run Code Online (Sandbox Code Playgroud)