【问题标题】:Telegram bot. How do I print DataFrame in telegram message?电报机器人。如何在电报消息中打印 DataFrame?
【发布时间】:2019-09-16 09:49:42
【问题描述】:

所以我正在使用 pyTelegramBotApi 制作我的第一个电报机器人。 问题是:我的机器人中包含一个 pandas DataFrame。而当用户向bot发送一些特殊的文本时,bot需要将这个DataFrame发送给用户。 我是通过将 DataFrame 转换为字符串值来实现的:

table = df.to_string(columns = ['Name', 'Description'], index = False, header = False, line_width = 70, justify = 'left')

bot.send_message(message.chat.id, table)

(我也不能左对齐,它总是居中)

还有其他方法吗?

【问题讨论】:

  • 您是否遇到任何错误?还是您只是不喜欢邮件的外观?
  • 不,它工作正常,除了对齐(所以我有点不喜欢它的外观)。此外,我还没有尝试使用包含约 100 个符号的大单元格。所以我想也许有更好、更优化的解决方案

标签: python telegram py-telegram-bot-api


【解决方案1】:

在下面的代码中,我使用“parse_mode”是HTML,其实我昨天也是这样:

 var HTML = '<b>Top Brackets</b>\n-------------------------------------------------------------\n
                                  Type   Name      Class          Total
                                  \n-------------------------------------------------------------\n';
                  var data = response.data;
                  for(var i=0;i<data.length;i++){
                        // $.sendMessage('<b>I am Bold</b>\n<i>I am italic</i>',{parse_mode: "HTML"});
                        HTML += `<b>${data[i].type}</b>    ${data[i].name}}    ${data[i].class}%   ${data[i].total_unit}\n`
                  }
                  HTML +='\n\nUpdated 3 sec ago.\nWebiste : www.abc.com';
                  $.sendMessage(HTML,{parse_mode: "HTML"});
                  //bot.sendMessage(id,HTML,{parse_mode: "HTML"}) /*THE IMPORTANT ONE */

【讨论】:

  • 感谢您的回答!还没试过,等我到电脑的时候试试。是 C++ 吗?
  • @kekundel,不,兄弟,它不是 C++ 代码,而是它的 javascript 代码,但我很确定它可以正常工作。您可以将语法转换为您自己的编程语言。
猜你喜欢
  • 1970-01-01
  • 2017-08-18
  • 2017-04-27
  • 2023-02-02
  • 2017-03-19
  • 2017-07-17
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多