如何使用 python 在 xlsx 文件中查找特定关键字?

How to find specifics keywords in a xlsx file using python?

我有一个 xlsx 文件,其中包含游戏名称、它们的价格以及我们可以找到它们的 link 网站。我正在尝试制作一个程序,有人可以在其中输入一个词,该程序将搜索名称中包含该词的每个游戏并显示其价格和 link.

      nome                  preco    link
0   Fifa 20              R$ 164,90  
1   FIFA 19              R$ 84,90    https://www.americanas.com.br/produto/13379718...
2   EFootball PES 2020   R$ 93,88    https://www.americanas.com.br/produto/13456974...
3   Forza Horizon 4      R$ 199,90   https://www.americanas.com.br/produto/13379732...
4   Mortal Kombat 11     R$ 129,90   https://www.americanas.com.br/produto/13416378...

由于我是初学者,所以我不知道如何开始,尽管我已经尝试过正则表达式。有人可以帮我吗?谢谢

首先将整个内容加载到 pandas 数据框中。

import pandas as pd
df = pd.read_excel('my_file.xlsx')

然后假设你不需要花哨的东西UI:

nm = input('Enter a partial name of a game: ')
print(df[df['name'].str.contains(nm)])

现在只打印数据帧的片段。如果你想抓取一个特定的单元格:

link = df.loc[df['name'].str.contains(nm), 'link']
print(link)

如果您想查看包含 nm 但仅某些列的所有游戏,您可以执行此操作...(包含 to_string() 以确保显示整个数据框)

disp_cols = ['nome', 'preco', 'link']
print(df.loc[df['name'].str.contains(nm), disp_cols].to_string())

或者您可以循环遍历它们,类似于@b-bogart 解决方案。我还认为使用 .lower() 通常是一个好主意,可以让用户的生活更轻松,并避免麻烦的数据清理。

我会使用 pandas 导入和搜索,然后遍历结果并打印输出。

import pandas as pd
df = pd.read_excel('64653127.xlsx')

search = 'fifa'

#use str.lower() for case insensitive results
results = df[df['nome'].str.lower().str.contains(search)]
#print(results)
for index, row in results.iterrows():
    print(str(row['nome']) + ' link: ' + str(row['link']))

输出为:

Fifa 20 link: nan
FIFA 19 link: https://www.americanas.com.br/produto/13379718...