我将如何格式化 PrettyTable 中的数据?

How would I format data in a PrettyTable?

我正在从 HTML 的 title 和 href 属性中获取文本。代码运行良好,我可以将其全部导入到 PrettyTable 中。我现在面临的问题是,有些标题我认为对于 table 中的其中一个框来说太大了,因此扭曲了整个 PrettyTable。我试过调整 hrules、vrules 和 padding_width,但没有找到解决办法。

from bs4 import BeautifulSoup
from prettytable import PrettyTable
import urllib


r = urllib.urlopen('http://www.genome.jp/kegg-bin/show_pathway?map=hsa05215&show_description=show').read()
soup = BeautifulSoup((r), "lxml")


links = [area['href'] for area in soup.find_all('area', href=True)] 
titles = [area['title'] for area in soup.find_all('area', title=True)]


k = PrettyTable()
k.field_names = ["ID", "Active Compound", "Link"]
c = 1
for i in range(len(titles)):
    k.add_row([c, titles[i], links[i]])
    c += 1

print(k)

我希望整个 table 显示为:

print (k.get_string(start=0, end=25))

如果PrettyTable做不到。是否有任何其他推荐的模块可以完成此任务?

这不是格式错误,而是创建的 table 的整体大小太大,以至于 python window 无法容纳屏幕上的所有值。

这通过更改为更小的字体大小得到证明。如果它可以帮助任何导出为 .csv 的人,那么在 Excel 中进行安排会有所帮助。