我想使用python制作一个函数来检查一个数字(基于文件字符串获得的)是否存在于使用熊猫的Excel中,如果该数字存在,它将执行类似“...已注册“并执行某些功能,反之亦然。
我试图使用的代码是这样的:
from tkinter import filedialog
import pandas as pd
import re
file = filedialog.askopenfilename(initialdir="C:/", title="choose file", filetypes=(("xlsx", "*.xlsx"), ("xls", "*.xls")))
name = (r'/(\w+)_(\w+)_excel.xlsx')
number = re.search(name, file).group(2)
references = pd.read_excel(r'C:/example.xlsx')
if float(number) == references:
print(number + " is registered") #and more function
else:
print(number + " is not registered") #and more function
当我使用这段代码时,它将返回值错误:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我稍微查找了一下,发现(据我所知)发生这种情况是因为该函数不够具体,可以返回true或false,然后我尝试使用或之后在函数中,但不知何故,即使该数字确实存在于excel中,它也会继续返回false。.any.allreferences
当我尝试使用它来检查它时,它将显示一个列表,它会告诉我在哪里找到匹配的数据,但是不知何故,当我试图从中生成一个函数时,它会不断返回false。print(number == references)
引用excel仅在单元格A1中包含“标题”,其余只是其中注册的数字。
我试图寻找它并找到一些东西,但我不知道如何把它作为一个功能,我不认为我可以用它来解决我的问题。pandas.DataFrame.isin
我很抱歉,如果这是一个相当容易的问题,但不知何故,我找不到这个问题的答案,而且我是python的新手,英语不是我的第一语言。
慕莱坞森
相关分类