代码之家  ›  专栏  ›  技术社区  ›  ItzzSalmon

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

  •  1
  • ItzzSalmon  · 技术社区  · 2 年前

    我正试图为每个球队的名单刮取网站,然后将其导出到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!")
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Free Palestine    2 年前

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

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

    文件: pandas.DataFrame.to_csv