我如何在PrettyTable中格式化数据?

时间:2016-07-09 04:53:57

标签: python-2.7 web-scraping prettytable

我从HTML中获取标题和href属性的文本。代码运行正常,我可以将它全部导入PrettyTable罚款。我现在面临的问题是,我认为有一些标题对于表格中的一个方框而言太大,因此会扭曲整个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)

我希望整个表格显示为:

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

如果PrettyTable无法做到这一点。是否有其他推荐的模块可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

这不是格式化错误,而是创建的表的总体大小太大,以至于python窗口无法容纳屏幕上的所有值。

通过更改为更小的字体大小证明了这一点。如果它帮助任何人以.csv出口,那么在Excel中安排帮助。