Как получить поле имени с учетом некоторых условий в Excel с использованием Python? - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть таблица Excel, подобная этой

ID, Age, Gender, Name
1, 10,1, 'John'
2, 12,0, 'Marry'
3, 20, 1, 'Peter'

Обратите внимание, что я не могу вставить сюда таблицу Excel, поэтому предположим, что она выше.Данным вводом является идентификатор, возраст и пол. Как получить имя поля с помощью Python?Спасибо Например, id = 2, age = 12, пол = 0, тогда вывод «Marry».

1 Ответ

0 голосов
/ 06 февраля 2019

Используйте xlrd для чтения данных из файла .xls и используйте pandas для хранения данных и выберите:

import pandas as pd
from xlrd import open_workbook

#Read datas from .xls file
workbook = open_workbook('data.xls')
sheet = workbook.sheet_by_index(0)
data = []
for row in range(sheet.nrows):
    data.append([])
    for col in range(sheet.ncols):
        value = sheet.cell(row,col).value
        if isinstance(value,float):
            value = str(int(value))
        data[-1].append(value)

#Covert datas to DataFrame with column index
df = pd.DataFrame(data[1:],columns=data[0],dtype=str)

#Input the select values
ID,age,gender = input('Input ID, age and gender splitted by comma.\n').split(',')

#Select the result and output
name = df.loc[(df['ID'] == ID) &
              (df['Age'] == age) &
              (df['Gender'] == gender)]['Name'].values[0]
print(name)

Данные в data.xls соответствуют заданным данным.

Ввод:

2,12,0

Выход:

Жениться

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