【问题标题】:How to lookup data in excel and return value next to it?如何在excel中查找数据并在其旁边返回值?
【发布时间】:2020-02-26 03:10:24
【问题描述】:

我的 Excel 数据:

Excel data

我在做什么?

我一直在研究pandas、openpyxl 各种模块。不知道如何组装一个脚本来给我一个vlookup() 函数。

我想要做的是,给出一个变量 find_string = "John" 并使用它来查看工作表内部并返回与 John 的 First Name 连接在同一行的 Last Name。

示例

find_string = "John"

return value of John = West

因为 John 和 West 在同一行但在不同的列。

如何做到这一点?

这就是我要做的..

import pandas as pd

file = 'C:/Users/user/Desktop/test/Excel file.xlsx'

find_string = "John"

x = pd.read_excel(file, sheet_name = 'Sheet2')

从答案更新 返回值:

IMG

file = 'C:/Users/user/Desktop/test/Excel file.xlsx'
df = pd.read_excel(file, sheet_name = 'sheet2')
 new_df = df[df['First Name'].str.contains('John')][['Last Name']].reset_index(drop = True) 

我只需要返回单词West

【问题讨论】:

  • 请edit您的问题,并至少包括您尝试使用这些模块中的一个(或两个)的尝试。
  • @martineau 编辑了我原来的问题。我只有很少的代码,只是不知道从哪里开始。
  • 抱歉,我对 Pandas 相关的问题帮不上什么忙,但我想你现在更有可能得到帮助。建议您在此处深入研究文档和/或搜索相关问题。
  • @martineau 不用担心,谢谢您的建议

标签: python excel pandas excel-formula


【解决方案1】:

对于这种特定情况,您可以只使用 pandas Series.str.contains()。文档位于此链接https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.contains.html 上。对于您的具体示例,这样的内容就足够了。

file = 'C:/Users/user/Desktop/test/Excel file.xlsx'
df = pd.read_excel(file, sheet_name = 'sheet2')
new_df = df[df['First Name'].str.contains('John')]


【讨论】:

  • 我如何自己返回第二列?
  • 对不起,你能改一下吗?
  • 如果你的意思是,你只想要第二列作为数据框,那就是:new_df = df[df['First Name'].str.contains('John')][ ['姓氏']].reset_index(drop = True)
  • 您的代码输出很棒。它返回给我Headers, index, all values 我如何从第 2 列返回一个值?举个例子,只给我West
  • 我已经编辑了我的问题,下面是我当前输出的图片,它显示了索引和标题,我如何获取姓氏来显示?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
相关资源
最近更新 更多