编辑代码

import requests

import csv

# 替换为你的API Key和SteamID

API_KEY = "E76200C3764ABD8E66FBA87F473B4C0C"

STEAM_ID = "76561198311373333"

API_URL = f"https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key={API_KEY}&steamid={STEAM_ID}&include_appinfo=true"

response = requests.get(API_URL)

data = response.json()

# 提取游戏数据(时长保留两位小数)

games = data["response"]["games"]

game_list = []

for game in games:

    name = game.get("name", "Unknown")

    playtime = game.get("playtime_forever", 0) # 单位为分钟

    game_list.append({

        "name": name,

         "playtime_hours": round(playtime / 60, 2) # 精确到两位小数

    })

# 按游玩时长降序排序

game_list_sorted = sorted(game_list,

                         key=lambda x: x["playtime_hours"],

                         reverse=True)

# 添加序号列(从1开始)

for index, game in enumerate(game_list_sorted, start=1):

    game["rank"] = index

# 写入CSV文件(字段包含序号)

with open("steam_games.csv", "w", newline="", encoding="utf-8-sig") as f:

    fieldnames = ["rank","name","playtime_hours"]

    writer = csv.DictWriter(f, fieldnames=fieldnames)

    writer.writeheader()

    writer.writerows(game_list_sorted)

print("文件已生成:steam_games.csv")