我想刮一張使用美麗的湯的html表,並將其導入到熊貓 - http://www.baseball-reference.com/teams/NYM/2017.shtml - 「團隊擊球」表。用美麗的湯刮到熊貓的HTML表格
查找表是沒有問題的:
table = soup.find('div', attrs={'class': 'overthrow table_container'})
table_body = table.find('tbody')
查找數據行是不是一個問題或者:
for i in table.findAll('tr')[2]: #increase to 3 to get next row in table...
print(i.get_text())
而且我甚至可以找到頭名:
table_head = table.find('thead')
for i in table_head.findAll('th'):
print(i.get_text())
現在我很難將所有東西放在一起放入數據框中。這是我到目前爲止:
header = []
for th in table_head.findAll('th'):
key = th.get_text()
header.append(key)
row= []
for tr in table.findAll('tr')[2]:
value = tr.get_text()
row.append(value)
od = OrderedDict(zip(head, row))
df = pd.DataFrame(d1, index=[0])
這隻適用於一次一行。我的問題是如何在同一時間對錶格中的每一行執行此操作?
感謝您的好評。在這一行中是否有「[row]」的名稱:table_row = table.findAll('tr')[row] ---我從來沒有見過像這樣在範圍之前使用它。 – e9e9s
你非常歡迎。這只是這種情況下的索引。等於'table_row = table.findAll('tr')[0]'或'table_row = table.findAll('tr')[1]' – bernie
那麼如果'[row]'被排除在這一行之外,迭代'table_row'你將無法做到? – e9e9s