Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python基于关键字在Excel工作表中搜索一行并返回该行_Python_Excel_Pandas - Fatal编程技术网

Python基于关键字在Excel工作表中搜索一行并返回该行

Python基于关键字在Excel工作表中搜索一行并返回该行,python,excel,pandas,Python,Excel,Pandas,披露:我不是这方面的专家,也没有太多的实践经验。然而,我花了几个小时试图自己解决这个问题 我有一张excel表格,上面有数千个对象序列号和地址。我正在尝试编写一个脚本,该脚本将在“a”和“B”列中搜索序列号或地址,并返回整行以及特定对象的附加信息。我试图使用python编写这个脚本,因为我试图将它与一个先前存在的脚本集成,我必须访问其他源代码。使用Pandas,我已经能够加载.xls工作表并返回所有电子表格的值,但我不知道如何搜索它,以便只返回与我所说内容相关的行 以下是我的代码: import

披露:我不是这方面的专家,也没有太多的实践经验。然而,我花了几个小时试图自己解决这个问题

我有一张excel表格,上面有数千个对象序列号和地址。我正在尝试编写一个脚本,该脚本将在“a”和“B”列中搜索序列号或地址,并返回整行以及特定对象的附加信息。我试图使用python编写这个脚本,因为我试图将它与一个先前存在的脚本集成,我必须访问其他源代码。使用Pandas,我已经能够加载.xls工作表并返回所有电子表格的值,但我不知道如何搜索它,以便只返回与我所说内容相关的行

以下是我的代码:

import pandas as pd
data = pd.read_excel('my/path/to.xls')
print(data.head())

我可以使用打印功能打印工作表的各个部分,但是每当我尝试向其中添加搜索功能时,我都会迷路,并且我的在线研究没有什么帮助。A.是否有更好的python模块用于此任务?或者B.如何实现搜索功能以返回一行数据作为变量,以显示和/或用于程序的其他方面?

类似的功能应该可以工作,pandas可以处理行、列和索引。我们可以利用这三个优势让您的实用程序正常工作

import pandas as pd

serial_number = input("What is your serial number: ")
address = input("What is your address: ")
# read in dataframe
data = pd.read_excel('my/path/to.xls')
# filter dataframe with a str.contains method.

filter_df = data.loc[(data['A'].str.contains(serial_number)) 
          | data['B'].str.contains(address)]

print(filter_df)
如果您有一个项目列表,例如

serial_nums = [0,5,9,11]
您可以使用isin,它根据列表过滤数据帧

data.loc[data['A'].isin(serial_nums)]

希望这能让你开始

你能分享数据吗?我们知道你想要什么了。还要创建一个最终输出的示例。作为指导:如何使用openpyxl?数据[data['columnname']==value]-或-data.query'colmnname'==value。。。