大家好。在 python 中使用 pandas 模块读取 .xlsx 文件时出现问题。所有值均显示为 NaN。导入 Openpyxl。
import pandas as pd
df = pd.read_excel('../data/test.xlsx')
data = pd.DataFrame(df, columns=['FIO', 'MIO'])
print(data)
抽象键盘(按钮):
def button():
keyboard = types.InlineKeyboardMarkup()
btn = types.InlineKeyboardButton(text="В начало", callback_data="В начало")
keyboard.add(btn)
return keyboard
我需要按下按钮的操作取决于键盘中收到的参数,并且回调处理程序根据此参数在同一键盘中表现不同,或者只是为了将此参数写入数据库。我想到的是:
def button(x):
keyboard = types.InlineKeyboardMarkup()
btn = types.InlineKeyboardButton(text="В начало", callback_data=f"В начало {x}")
keyboard.add(btn)
return keyboard
然后我们在处理程序中找到这个“x”并将其用于逻辑:call.data.split()[-1]。但这一切看起来都像拐杖。
也许有一个漂亮的解决方案?
有一段代码:
@bot.message_handler(content_types=['text'])
def func(message):
if message.text == "↩️Назад":
...
所有单词,以及像 /start 等命令,都会被这个装饰器拦截。是否可以只对“↩️Back”这个表达做出反应?将这段代码移到最后的选项并不合适。
大家好。请帮我写一个装饰器来删除以前的消息。有一个函数:
def func(call, bot):
bot.send_message(
call.from_user.id,
"Привет!",
reply_markup=button()
)
装饰器应该在 bot.send_message 之前添加这一行:
bot.delete_message(call.from_user.id, call.message.message_id)
大家好。
编程新手。我正在用 python 编写一个机器人,telebot。该机器人是一个目录,您首先会在其中看到回复按钮的菜单(键盘),然后当您按下按钮时,您会看到另一个菜单或带有联系信息的最终消息。一切都很简单,一切正常,但是...突然TK中出现了一个点:确保当您按下键盘上的按钮时,键盘本身消失,显示一条新消息,并且在每个后续菜单或消息中出现“后退”按钮,按下该按钮用户将收到上一菜单,换句话说,将后退一步。理论上,我理解这可以通过 bot.delete_message 并调用上一条消息的回调来实现。但如果有很多键盘和消息,一切都已经写好了怎么办?不要手动向 100 多个回调添加“后退”按钮,并将 bot.delete_message 行添加到 @bot.callback_query_handler 中的所有回调的 bot.send_message 之前。当然,有一个选项可以以某种方式拦截机器人发送的任何消息,并向其添加“后退”按钮并删除上一条消息 - bot.delete_message。我要强调一下,我是一个新手。我从“a”到“z”阅读了远程机器人的文档,但由于我的经验很少,这没有帮助。我请求帮助和建议。至少朝哪个方向看。我从“a”到“z”阅读了远程机器人的文档,但由于我的经验很少,这没有帮助。我请求帮助和建议。至少朝哪个方向看。我从“a”到“z”阅读了远程机器人的文档,但由于我的经验很少,这没有帮助。我请求帮助和建议。至少朝哪个方向看。