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 数据文件中。
所以到现在为止,我终于弄清楚了如何将东西放入数据框中,但我对编程完全陌生,并且认为某些东西不应该出现在这个循环中,因此出现了问题..
所以我想做的是从 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 数据文件中。