我正在使用python做股票市场价格机器人项目。所以我想显示顶级赢家和顶级输家列表后,用户点击按钮顶级赢家或输家。所以我使用pandas dataframe来显示使用抓取的表赢家url。在pycharm和jupyter notebook中,它是打印表格的。但是当我尝试在电报机器人上使用
打印它之后import telegram
import pandas as pd
url = 'https://www.moneycontrol.com/markets/global-indices/'
response = requests.get(url)
print(response)
market = pd.read_html(url)
new_market = market[0]
new_market2 = new_market[['Name','Current Value','%Change']]
update.message.reply_text(new_market2.to_markdown())
它不是给我在数据框架表格式。如何在电报机器人上以适当的格式显示这个new_market数据框。
我刚刚找到一个很好的工具来满足这个需求,它叫做tabulate。
它打印表格数据并与DataFrame一起工作。
from tabulate import tabulate
import pandas as pd
df = pd.DataFrame({'col_two' : [0.0001, 1e-005 , 1e-006, 1e-007],
'column_3' : ['ABCD', 'ABCD', 'long string', 'ABCD']})
print(tabulate(df, headers='keys', tablefmt='psql'))
+----+-----------+-------------+
| | col_two | column_3 |
|----+-----------+-------------|
| 0 | 0.0001 | ABCD |
| 1 | 1e-05 | ABCD |
| 2 | 1e-06 | long string |
| 3 | 1e-07 | ABCD |
bot.send_message(chat_ids, f'<pre>{table}</pre>', parse_mode=ParseMode.HTML)