добрый день вот код! рабочий но не редактирован суть мне нужно сделать запрос на определеную строчку чтения например мне нужно. пример у меня в столбе А прописаны улицы я пишу эту улицу. а мне присылает информацию стобец B C как это реализовать ? import openpyxl import telebot from telebot import types bot = telebot.TeleBot("ТОКЕН") wb = openpyxl.load_workbook(filename = 'DneproNet.xlsx') sheet = wb['street'] @bot.message_handler(commands=['start']) def start_command(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item1 = types.KeyboardButton('Улица') item2 = types.KeyboardButton('Переулок') item3 = types.KeyboardButton('проспект') markup.add(item1, item2, item3) bot.send_message(message.chat.id, "{0.first_name}, выберите вариант.".format(message.from_user, bot.get_me()), parse_mode='html', reply_markup=markup) @bot.message_handler(content_types=['text']) def find_unit(message): try: if message.text == 'Улица': send = bot.send_message(message.chat.id, 'Напиши название Улицы которую нужно найти') bot.register_next_step_handler(send, street) elif message.text == 'Переулок': send = bot.send_message(message.chat.id, 'Напиши название Переулка которую нужно найти') bot.register_next_step_handler(send, lane) elif message.text == 'проспект': send = bot.send_message(message.chat.id, 'Напиши название проспекта которую нужно найти') bot.register_next_step_handler(send, Avenue) except: bot.send_message(message.chat.id, 'Ошибка! Не найдено') def street(message): try: val = sheet['A2'].value bot.send_message(message.chat.id, val) except ValueError: print("Ошибка") if __name__ == '__main__': bot.polling(none_stop=True) Код import openpyxl import telebot from telebot import types bot = telebot.TeleBot("ТОКЕН") wb = openpyxl.load_workbook(filename = 'DneproNet.xlsx') sheet = wb['street'] @bot.message_handler(commands=['start']) def start_command(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item1 = types.KeyboardButton('Улица') item2 = types.KeyboardButton('Переулок') item3 = types.KeyboardButton('проспект') markup.add(item1, item2, item3) bot.send_message(message.chat.id, "{0.first_name}, выберите вариант.".format(message.from_user, bot.get_me()), parse_mode='html', reply_markup=markup) @bot.message_handler(content_types=['text']) def find_unit(message): try: if message.text == 'Улица': send = bot.send_message(message.chat.id, 'Напиши название Улицы которую нужно найти') bot.register_next_step_handler(send, street) elif message.text == 'Переулок': send = bot.send_message(message.chat.id, 'Напиши название Переулка которую нужно найти') bot.register_next_step_handler(send, lane) elif message.text == 'проспект': send = bot.send_message(message.chat.id, 'Напиши название проспекта которую нужно найти') bot.register_next_step_handler(send, Avenue) except: bot.send_message(message.chat.id, 'Ошибка! Не найдено') def street(message): try: val = sheet['A2'].value bot.send_message(message.chat.id, val) except ValueError: print("Ошибка") if __name__ == '__main__': bot.polling(none_stop=True)
Файл какого формата? БД какая-то или тупа текстовик? --- Сообщение объединено с предыдущим 9 май 2020 А, увидел xlsx --- Сообщение объединено с предыдущим 9 май 2020 Короче потратил минуты 3 на прочтение документации, и тебе советую --- Сообщение объединено с предыдущим 9 май 2020 Код поиска по первой колонке в твоем случае будет выглядеть так: import openpyxl as opx workbook = opx.load_workbook('Книга1.xlsx') first_sheet = workbook.worksheets[0] rov = str(input()) for row in first_sheet.rows: #print(row[0].value) if row[0].value == rov: print(row[1].value, row[2].value) Python import openpyxl as opx workbook = opx.load_workbook('Книга1.xlsx') first_sheet = workbook.worksheets[0] rov = str(input()) for row in first_sheet.rows: #print(row[0].value) if row[0].value == rov: print(row[1].value, row[2].value) Если у тебя больше чем 3 параметра, вводи счетчик. Думаю сам разберешься.