Pandas to_csv 多页

Pandas to_csv multiple pages

所以到现在为止,我终于弄清楚了如何将东西放入数据框中,但我对编程完全陌生,并且认为某些东西不应该出现在这个循环中,因此出现了问题..

所以我想做的是从 http://rotoguru1.com/cgi-bin/byday.pl?game=dk

中提取棒球数据

df 的格式正确,但我遇到了一些问题。 1.) 我在 for 循环中写入了 csv 以获取我认为必须删除的页面抓取?在将信息写入 csv 之前,我是否只是创建一个新变量来存储信息? 2.) 分页按日期进行,所以我只是为 i in range(410, 518) 尝试获取 4 月 10 日到 5 月 17 日之间的所有日期。但是很明显,它只是在第 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")

这是你想要的吗?

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 数据文件中。