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

如何使用PyDrive获取Google Spreadsheet结果并转为JSON格式

报错原因

该报错和PyDrive无关,核心是Python原生JSON序列化工具无法直接处理pandas DataFrame类型的对象,将已获取的DataFrame转换为标准JSON格式即可解决。

解决方法

直接使用pandas自带的to_json()方法完成转换,可根据需求调整输出格式:

import pandas as pd
import json

# 此处为你通过PyDrive读取表格数据生成DataFrame的原有逻辑,生成变量名为df的DataFrame

# 1. 转换为JSON字符串
# orient参数控制输出格式,force_ascii=False保留中文等非ASCII字符不转义
json_str = df.to_json(orient='records', force_ascii=False)

# 2. 若需要输出为本地JSON文件
with open('google_sheet_result.json', 'w', encoding='utf-8') as f:
    f.write(json_str)

# 3. 若需要转为Python原生列表/字典做后续处理
json_data = json.loads(json_str)

常用格式参数说明

orient参数可按需调整,常用选项如下:

  • orient='records':输出为[{"列名1":"行1值1","列名2":"行1值2"},{"列名1":"行2值1",...}]格式,是接口返回、数据导出最常用的格式
  • orient='index':以行索引为key,输出为{"行1索引":{"列名1":"值1",...},...}格式
  • orient='columns':以列名为key,输出为{"列名1":{"行1索引":"值1",...},...}格式
  • orient='split':输出为{"columns":[列名列表],"index":[行索引列表],"data":[二维数据列表]}格式,适合需要单独提取表头、原始数据的场景

注意事项

如果DataFrame中包含时间类型字段,可添加date_format参数避免序列化异常,示例:

json_str = df.to_json(orient='records', force_ascii=False, date_format='iso')

内容的提问来源于stack exchange,提问作者Jore Dawal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:45:03