Ich bekomme den Text aus dem Titel und href Attribute aus dem HTML. Der Code läuft gut und ich kann alles in eine PrettyTable-Strafe importieren. Das Problem, dem ich jetzt gegenüberstehe, ist, dass es einige Titel gibt, die meiner Meinung nach zu groß für eines der Felder in der Tabelle sind und somit das gesamte PrettyTable-Format verzerren. Ich habe versucht, die hrules, vrules und padding_width anzupassen und habe keine Auflösung gefunden.Wie würde ich Daten in einer PrettyTable formatieren?
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)
Wie ich die gesamte Tabelle als angezeigt werden möchten:
print (k.get_string(start=0, end=25))
Wenn Pretty kann es nicht tun. Gibt es andere empfohlene Module, die dies erreichen könnten?