如何导入excel文件并使用python和pandas搜索特定记录?

如何导入excel文件并使用python和pandas搜索特定记录?,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我正在尝试导入excel文件并搜索特定记录 这是我到目前为止提出的,它不断抛出错误 excel电子表格有两列关键字和说明,每个关键字最多约10个字符,说明最多约150个字符 我可以使用print(df1)在excel文件中打印整个工作表,而不会出现任何错误,但只要我尝试搜索特定值,它就会出错 错误 ValueError: ('Lengths must match to compare', (33,), (1,)) 代码 将熊猫作为pd导入 文件='Methods.xlsx' df=pd.Exc

我正在尝试导入excel文件并搜索特定记录

这是我到目前为止提出的,它不断抛出错误

excel电子表格有两列
关键字
说明
,每个关键字最多约10个字符,说明最多约150个字符

我可以使用
print(df1)
在excel文件中打印整个工作表,而不会出现任何错误,但只要我尝试搜索特定值,它就会出错

错误

ValueError: ('Lengths must match to compare', (33,), (1,))
代码

将熊猫作为pd导入
文件='Methods.xlsx'
df=pd.ExcelFile(文件)
df1=df.parse('Keywords')
lookup=df1['Description']。其中(df1['Keyword']==[“as”])
打印(查找)

过滤器语法如下

df_filtered=df[df[列]==关键字]
所以对你来说应该是

lookup = df1[df1['Keyword'] == "as"]['Description']
还是整个代码

import pandas as pd
file = 'Methods.xlsx'
df = pd.ExcelFile(file)
df1 = df.parse('Keywords')
lookup = df1[df1['Keyword'] == "as"]['Description']
print (lookup)

细分: 这将返回一个包含
True
False
的序列,具体取决于关键字是否存在。
然后,我们可以过滤数据帧以获得那些具有
True
的行

df_filtered = df1[is_keyword]
这将导致所有列,因此,为了仅获取
描述
列,我们通过

lookup = df_filtered['description']
还是一行

lookup = df1[df1['Keyword'] == "as"]['Description']

除了上面@Jimmar给出的详细答案之外:

为了语法上的方便,您可以这样编写代码:

lookup = df1[df1.keyword == "as"].Description

Pandas提供列名查找,就像它是DataFrame类的成员一样(使用点表示法)。请注意,使用这种方式时,列名中不应包含任何空格

some!这工作非常完美,感谢修复和故障(非常有用)!这也很好,谢谢你的替代语法!
lookup = df1[df1.keyword == "as"].Description