如何导入excel文件并使用python和pandas搜索特定记录?
我正在尝试导入excel文件并搜索特定记录 这是我到目前为止提出的,它不断抛出错误 excel电子表格有两列如何导入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
关键字
和说明
,每个关键字最多约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