Как искать данные в Excel и возвращать значение рядом с ним? - PullRequest
0 голосов
/ 30 октября 2019

Мои данные Excel:

Данные Excel

Что я делаю?

Я искал в pandas, openpyxl всевозможные модули. Не уверен, как собрать скрипт для выполнения функции vlookup().

Что я пытаюсь сделать, так это дать переменную find_string = "John" и использовать ее, чтобы заглянуть внутрь листа и вернуть мне Last Name подключен к той же строке, что и First Name из John.

Пример

find_string = "John"

return value of 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

1 Ответ

0 голосов
/ 30 октября 2019

Для этого конкретного случая вы можете просто использовать 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')]


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...