You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python脚本调用Youtube API生成CSV文件时数据无法写入如何解决?

问题修复说明

核心错误点

  • 变量名拼写错误:循环中定义的存储单条数据的变量名为videos_data_row,写入时调用的是video_data_row,二者不一致导致写入动作实际执行失败
  • Windows路径转义异常:Python字符串中\为转义符,直接书写的本地路径会被转义解析,可能导致文件对象生成异常
  • 可选优化:可以直接调用requests响应的json()方法解析返回数据,无需手动调用json.loads,同时建议先打印接口返回内容确认API请求正常,避免密钥过期、配额耗尽等接口层面的问题导致没有数据返回

修复后完整代码

import csv
import requests

# 注意后续替换为自己的API密钥,避免示例密钥过期或配额耗尽不可用
api_url = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCJFp8uSYCjXOMnkUyb3CQ3Q&key=AIzaSyDaMzUYRFzDfjMq-bTm38Y_1swWDMfg03E"
api_response = requests.get(api_url)
# 直接用内置方法解析响应内容
videos = api_response.json()

# 路径前加r标记为原始字符串,避免转义问题;新增newline参数避免Windows下csv出现多余空行
with open(r"C:\Users\jacks\Documents\PythonScripts\youtube_videos.csv", "w", encoding="utf-8", newline='') as csv_file:
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow(["publishedAt",
                 "title",
                 "description",
                 "thumbnailurl"])
    if videos.get("items") is not None:
        for video in videos.get("items"):
            # 统一变量名
            video_data_row = [
                video["snippet"]["publishedAt"],
                video["snippet"]["title"],
                video["snippet"]["description"],
                video["snippet"]["thumbnails"]["default"]["url"]
                ]
            csv_writer.writerow(video_data_row)

内容的提问来源于stack exchange,提问作者Jackson Denti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:11