#python
#python
Вопрос:
Я хочу отправить эту таблицу, созданную с использованием tabulate,
В боте telegram
-------- ---------------- --------- --------------- ------
| Course | course | Credits | Credits | |
| code | name | Reg. | Earned Grade | |
-------- ---------------- --------- --------------- ------
| CY22 | ENGINEERING | 3.00 | 3.00 | A |
| | CHEMISTRY | | | |
-------- ---------------- --------- --------------- ------
| EE25 | BASIC | 3.00 | 3.00 | B |
| | ELECTRICAL | | | |
| | ENGINEERING | | | |
-------- ---------------- --------- --------------- ------
| MA21 | ENGINEERING | 4.00 | 4.00 | B |
| | MATHEMATICS-II | | | |
-------- ---------------- --------- --------------- ------
| HS24 | PROFESSIONAL | 2.00 | 2.00 | A |
| | COMMUNICATION | | | |
| | AND | | | |
| | LIFE | | | |
| | SKILLS | | | |
-------- ---------------- --------- --------------- ------
| HS23 | CONSTITUTION | 0.00 | 0.00 | Pass |
| | OF | | | |
| | INDIA | | | |
-------- ---------------- --------- --------------- ------
| CS26 | FUNDAMENTALS | 2.00 | 2.00 | A |
| | OF | | | |
| | COMPUTING | | | |
-------- ---------------- --------- --------------- ------
| CSL28 | FUNDAMENTALS | 2.00 | 2.00 | A |
| | OF | | | |
| | COMPUTING | | | |
| | amp; | | | |
| | C | | | |
| | PROGRAMMING | | | |
| | LABORATORY | | | |
-------- ---------------- --------- --------------- ------
| CYL27 | ENGINEERING | 1.00 | 1.00 | B |
| | CHEMISTRY | | | |
| | LAB | | | |
-------- ---------------- --------- --------------- ------
| AL21 | ENGINEERING | 1.00 | 1.00 | A |
| | DESIGN | | | |
-------- ---------------- --------- --------------- ------
| ME29 | COMPUTER | 2.00 | 2.00 | A |
| | AIDED | | | |
| | ENGINEERING | | | |
| | DRAWING | | | |
-------- ---------------- --------- --------------- ------
Но когда бот отправит эту таблицу в telegram, она потеряет свой формат и станет чем-то вроде этого
Как отформатировать таблицу? Я получил тот же результат и с pretty table.
Ответ №1:
По моим наблюдениям, текст форматируется так, что шрифт, используемый в telegram, имеет разную ширину для разных символов.
Добавьте обратную метку ` в начале и конце каждой строки. В телеграмме текст, заключенный в обратные метки, интерпретируется как моноширинный.
Итак, предположим, что ваш текстовый вывод из tabulate хранится в txt
переменной.
finaltext = '`' txt.replace('n','`n`') '`'
Это добавит обратные ссылки в начале и конце каждой строки.
Комментарии:
1. Как изменить шрифт в python?
2. Не в python. Средство просмотра текста, которое вы используете. например. Блокнот или офис.
3. Да, Tomerikoo. теперь, когда я проверил, нет прямого способа изменить стиль шрифта Telegram. Однако я обнаружил, что текст, заключенный в обратные метки, по-прежнему интерпретируется как моноширинный в Telegram. Итак, я отредактировал свой ответ для того же.