所以到目前为止,我已经最终想出了如何将数据写入数据帧,但我对编程很新,并且认为某些东西不应该在这个循环中因此问题..
所以我想做的是从http://rotoguru1.com/cgi-bin/byday.pl?game=dk
拉取棒球数据格式化对于df是正确的但我有一些问题。 1.)我在页面抓取的for循环中写了csv,我想我必须拿出来?我是否只是在将信息写入csv之前创建一个新变量来存储信息? 2.)分页按日期进行,所以我只是在范围内(410,518)为i尝试获得4月到10月之间的所有日期。但是显然它只是增加到第30天并且一直到99所以我没有看到任何数据。
无论这里是我到目前为止的代码......我是新手,所以请放轻松我:P
for i in range(410, 518):
r = requests.get("http://rotoguru1.com/cgi-bin/byday.pl?date={}&game=dk".format(i))
soup = bs.BeautifulSoup(r.content,"lxml")
table = soup.find_all('tr')[9]
headers = [th.getText().replace('\xa0', '') for th in table]
headers.insert(0,'Position')
data_rows = soup.find_all('tr')[10:430]
player_data = [[td.getText().replace('\xa0', '') for td in data_rows[i].find_all('td')] for i in range(len(data_rows))]
df = pd.DataFrame(player_data, columns=headers)
df.to_csv("testingbaseball.csv")
答案 0 :(得分:0)
这是你想要的吗?
import os
path = 'testingbaseball.csv'
if not os.path.exists(path):
df.to_csv('testingbaseball.csv')
else:
df.to_csv('testingbaseball.csv', mode='a', header=False)
这样您就可以继续将新数据添加到csv数据文件中。