从nba\u api写入CSV不分离p

2024-05-19 01:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从python NBA\u API中提取以前的NBA游戏,但是我的格式没有按我需要的那样工作。我希望数据流中的每一行都被分离到列中的每一行

import nba_api
import requests
import csv
from nba_api.stats.static import teams
from nba_api.stats.endpoints import leaguegamefinder
from nba_api.stats.endpoints import leaguegamelog
season = leaguegamelog.LeagueGameLog("00")

nba_teams = teams.get_teams()
seasonGames = season.get_data_frames()[0]
seasonGames.head()
print(seasonGames.TEAM_NAME)

with open('NBAStats.csv', mode='w') as csv_file:
    fieldnames = ['team_name','team_id','game_id']
    writer = csv.DictWriter(csv_file,     fieldnames=fieldnames,delimiter=',')

    writer.writeheader()
    for TEAM_NAME in seasonGames['TEAM_NAME']:
        writer.writerow({'team_name': seasonGames["TEAM_NAME"],'team_id': seasonGames["TEAM_ID"],'game_id': seasonGames["GAME_ID"]})
print("done")

这就是输出的样子:enter image description herehttps://imgur.com/a/YdqoR6p


Tags: csvnamefromimportapiidstatsteam
1条回答
网友
1楼 · 发布于 2024-05-19 01:13:41

这就是你想要的吗?你知道吗

import csv
from nba_api.stats.endpoints import leaguegamelog
season = leaguegamelog.LeagueGameLog("00")

seasonGames = season.get_data_frames()[0]

with open('NBAStats.csv', mode='w') as csv_file:
    fieldnames = ['team_name','team_id','game_id']
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames,delimiter=',', lineterminator='\n')

    writer.writeheader()

    for group in seasonGames.groupby("TEAM_NAME"):
        TEAM_NAME, group_df = group
        for ix in group_df.index:
            writer.writerow({'team_name': group_df.loc[ix, "TEAM_NAME"],
                             'team_id': group_df.loc[ix, "TEAM_ID"],
                             'game_id': group_df.loc[ix, "GAME_ID"]})
print("done")

enter image description here

或者使用更简单的方法:

import csv
from nba_api.stats.endpoints import leaguegamelog
season = leaguegamelog.LeagueGameLog("00")

seasonGames = season.get_data_frames()[0]

opDF = seasonGames.sort_values(by=["TEAM_NAME", "GAME_ID"])[["TEAM_NAME", "TEAM_ID", "GAME_ID"]]
opDF.columns = [["team_name", "team_id", "game_id"]]
opDF.to_csv('NBAStats.csv', index=False)

相关问题 更多 >

    热门问题