如何将循环抓取的数据保存到 csv 中?

问题描述 投票:0回答:1

我正在尝试抓取每个团队名单的网站,然后将其导出到 csv 文件中。该代码能够抓取数据,但它仅将最终球队数据(纽约游骑兵队)保存到 csv 中。只是想知道如何保存循环中所有抓取的数据?

import pandas as pd
import time

team = ['Toronto Maple Leafs', 'Montreal Canadiens', 'Boston Bruins', 'Chicago Blackhawks', 'Detroit Red Wings', 'New York Rangers']
code = ['TOR', 'MTL', 'BOS', 'CHI', 'DET', 'NYR']

for i in range(0, len(code)):
    codes = code[i]
    teams = team[i]
    df = pd.read_html(f'https://www.hockey-reference.com/teams/{codes}/#roster', match='Roster')
    df = df[0]
    df = df[['Player']]
    df = df.assign(Team=[teams]*len(df), Rating=['99']*len(df))
    print(df)
    time.sleep(5)
    df.to_csv('Players.csv')
print("Saved!")
python-3.x csv range
1个回答
0
投票

您可以执行

mode='a'
将所有新数据附加到循环中的现有数据。

df.to_csv('Players.csv', mode='a')

文档:pandas.DataFrame.to_csv

© www.soinside.com 2019 - 2024. All rights reserved.