如何解决如何使用熊猫查找行#并基于用户输入搜索电子表格?
我正试图找出如何基于对Excel文档的搜索来轻松索引行号。
from tkinter import *
import pandas as pd
database = pd.ExcelFile('C:/Code/CODETEST.xlsx').parse(sheet_name="Sheet1",skiprows=0,nrows=3)
excel_data_df = pd.read_excel('CODETEST.xlsx',sheet_name='Sheet1',)
##excel_data_dfRow = pd.read_excel('CODETEST.xlsx',nrows=2)
print (excel_data_df)
##print(excel_data_df.columns.ravel())
##print(excel_data_df['Service Name'].tolist())
##Creating a service list for all services listed under "Serivce name" Column
My_Service_List = (excel_data_df['Service Name'].tolist())
My_Multicast_List = (excel_data_df['SRC DRAWING'].tolist())
column2 = excel_data_df.iloc[0,3]
column3 = excel_data_df.iloc[:0,4]
print (column2)
print(My_Service_List)
##print (excel_data_dfRow)
print(My_Multicast_List)
##print (database)
##Source1_Text = tk.StringVar()
root = Tk()
##Creating Entries
Group = Entry(root,width=50)
Group.grid(row=0,column=5)
Source = Entry(root,width=50)
Source.grid(row=1,column=5)
Service = Entry(root,width=50)
Service.grid(row=2,column=5)
Test = database
##if Test == Service.get():
## print ("Yes")
Source1 = Button()
def Standard_flow():
global Source1
global My_Service_List
global Test
global column2
Standard_window = Tk()
##Source1_Text = tk.StringVar()
##Source1_Text.set("Original Text")
##My_Service_ListTEST = Service.get()
Source1 = Button(Standard_window,text=column2)
Source1.grid(row=1,column=1)
Source2 = Button(Standard_window,text=column3)
Source2.grid(row=1,column=2)
Source3 = Button(Standard_window,text='DCM')
Source3.grid(row=1,column=3)
# Definining Buttons
def Okay():
hello = "Searching " + Group.get()
myLabel = Label(root,text=hello)
myLabel.grid(row=0,column=6)
def Okay2():
hello2 = "Searching " + Source.get()
myLabel2 = Label(root,text=hello2)
myLabel2.grid(row=1,column=6)
def Okay3():
hello3 = "Searching " + Service.get()
myLabel3 = Label(root,text=hello3)
myLabel3.grid(row=2,column=6)
if My_Service_List.__contains__(Service.get()):
return Standard_flow()
else:
None
##Creating Buttons
myButton_Group = Button(root,text='Group Multicast IP',command=Okay)
myButton_Source = Button(root,text='Source IP',command=Okay2)
myButton_Service = Button(root,text='Service Name',command=Okay3)
##Displaying Buttons
myButton_Group.grid(row=0,column=1)
myButton_Source.grid(row=1,column=1)
myButton_Service.grid(row=2,column=1)
root.mainloop()
我正在使用用户输入来检查excel文档,以查看该特定列中是否存在该值,但我也想索引该服务已找到的行#的索引,以便我可以从该行打印特定列。
我需要按照以下内容执行if语句...
if My_Service_List.__contains__(Service.get()):
返回或索引包含输入的行#
我稍后需要在代码中使用此行#来打印/显示同一行其他列的用户数据。
查看了文档,但是在推动此问题上存在一些问题,请忽略代码中没有意义的所有注释,我正在尝试并在进行过程中将其注释掉。
我看到了有关dt.loc的信息,以获取索引行#
Searching = (excel_data_df.loc(Service.get()))
print (Searching)
但是问题是,尝试运行该服务时未定义“服务”。
“跟踪(最近一次通话结束): 文件“ C:/ Users / 206415779 / Python / FINDIT / FINDIT START”,第37行,在 搜索= excel_data_df.loc(Service.get()) NameError:名称“服务”未定义”
非常感谢您的帮助。
解决方法
这就是我需要的东西。希望能回答这个问题。
Searched_Multicast_Row_Location = excel_data_df_Sheet_1[excel_data_df_Sheet_1['Zixi Multicast'] == Group.get()].index
创建一个变量“ Searched_Multicast_Row_Location”以存储基于来自用户的“ Group.get()”的索引行。 “ Zixi Multicast”是用于搜索的列,我知道该列中的值,因此用户输入其搜索内容,此var将查询该列并找到值的行#。我还有另一篇文章讨论将其设置为搜索多列。如果不清楚,则“ excel_data_df_Sheet_1”是我的df。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。