Я пытаюсь очистить статистику фигуристов НХЛ 2017/2018. Я начал с кода, но у меня возникают проблемы с анализом данных и печатью, чтобы преуспеть.
Вот мой код:
#import modules
from urllib.request import urlopen
from lxml.html import fromstring
import pandas as pd
#connect to url
url = "https://www.hockey-reference.com/leagues/NHL_2018_skaters.html"
#remove HTML comment markup
content = str(urlopen(url).read())
comment = content.replace("-->","").replace("<!--","")
tree = fromstring(comment)
#setting up excel columns
columns = ("names", "gp", "g", "s", "team")
df = pd.DataFrame(columns=columns)
#attempt at parsing data while using loop
for nhl, skater_row in enumerate(tree.xpath('//table[contains(@class,"stats_table")]/tr')):
names = pitcher_row.xpath('.//td[@data-stat="player"]/a')[0].text
gp = skater_row.xpath('.//td[@data-stat="games_played"]/text()')[0]
g = skater_row.xpath('.//td[@data-stat="goals"]/text()')[0]
s = skater_row.xpath('.//td[@data-stat="shots"]/text()')[0]
try:
team = skater_row.xpath('.//td[@data-stat="team_id"]/a')[0].text
# create pandas dataframe to export data to excel
df.loc[nhl] = (names, team, gp, g, s)
#write data to excel
writer = pd.ExcelWriter('NHL skater.xlsx')
df.to_excel(writer, 'Sheet1')
writer.save()
Может кто-нибудь объяснить, пожалуйста, как анализировать эти данные? Есть ли какие-то советы, которые помогут вам написать Xpath, чтобы я мог просматривать данные?
У меня проблемы с написанием строки:
for nhl, skater_row in enumerate(tree.xpath...
Как вы нашли Xpath? Вы использовали Xpath Finder или Xpath Helper?
Также я столкнулся с ошибкой в строке:
df.loc[nhl] = (names, team, gp, g, s)
Показывает неверный синтаксис для df.
Я новичок в изучении веб-страниц и не имею опыта программирования. Любая помощь будет принята с благодарностью. Заранее спасибо за ваше время!