У меня есть некоторые табличные данные с некоторыми длинными полями. Панды отрежут некоторые из длинных полей, как это:Таблицы в соответствии с шириной терминала в python?
shortname title \
0 shc Shakespeare His Contemporaries
1 folger-shakespeare Folger Shakespeare Library Digital Texts
2 perseus-c-greek Perseus Canonical Greek
3 stanford-1880s Adult British Fiction of the 1880s, Assembled ...
4 reuters-21578 Reuters-21578
5 ecco-tcp Eighteenth Century Collections Online/Text C...
centuries
0 16th, 17th
1 16th, 17th
2 NaN
3 NaN
4 NaN
5 18th
и если я использую tabulate.tabulate()
, это выглядит следующим образом:
- ------------------ -------------------------------------------------------------------------- ----------
0 shc Shakespeare His Contemporaries 16th, 17th
1 folger-shakespeare Folger Shakespeare Library Digital Texts 16th, 17th
2 perseus-c-greek Perseus Canonical Greek nan
3 stanford-1880s Adult British Fiction of the 1880s, Assembled by the Stanford Literary Lab nan
4 reuters-21578 Reuters-21578 nan
5 ecco-tcp Eighteenth Century Collections Online/Text Creation Partnership ECCO-TCP 18th
- ------------------ -------------------------------------------------------------------------- ----------
В первом случае ширина устанавливаются примерно 80, Я предполагаю, и не расширяюсь, чтобы заполнить окно терминала. Я бы хотел, чтобы столбцы «shortname», «title» и «century» были в одной строке, поэтому это не работает.
Во втором случае ширина устанавливается на ширину данных, но это не сработает, если есть очень длинное название, и если у пользователя небольшое окно терминала, оно будет обернуто действительно странно.
Так что я ищу (предпочтительно легкий) способ в Python для точной печати табличных данных в соответствии с шириной терминала пользователя или, по крайней мере, позволяю мне указывать ширину терминала пользователя, которую я получу в другом месте , как tabulate(data, 120)
для 120 столбцов. Есть ли способ сделать это?