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

如何从Google Drive对象数组提取指定属性存入数据库(Google Colab)

问题解决:从Drive API返回的字典数组提取字段存入数据库

我在Google Colab中通过Google Drive API获取了76000个文件夹的数据,存储为items数组,数组结构示例如下:

[
    {
        'parents': ['1H7cY0cncy5fXt7of0xxN3jdTmzk'], 
        'id': '1UDqOjxiZFPdY3goFPSecc53xOW4', 
        'name': '20620', 
        'createdTime': '2023-06-19T15:51:15.280Z'
    }, 
    {
        'parents': ['1kq6FBSvhIZqyQASntqOmL6AQEak'], 
        'id': '1CPDgaPOF3Kg4Ds26GpyxuJblQ3', 
        'name': '230620', 
        'createdTime': '2023-06-19T15:51:02.397Z'
    }
]

需要提取每个元素中的id、parents和createdTime字段存入数据库,尝试了以下代码但无法实现:

for i in items:
  salvarDB (i.parents, i.id, i.createdTime)

解决方法

代码无法运行的核心原因是:items数组中的元素是Python字典,不是自定义类的实例,不能用对象属性的访问方式(.)来取值,必须用字典的键访问语法([])。

修正后的代码:

for i in items:
    salvarDB(i['parents'], i['id'], i['createdTime'])

额外优化建议

  1. 容错处理:如果存在部分字段缺失的情况,建议用dict.get()方法避免KeyError,示例:
    for i in items:
        parents = i.get('parents', [])  # 字段不存在时返回空列表
        folder_id = i.get('id', '')
        created_time = i.get('createdTime', '')
        salvarDB(parents, folder_id, created_time)
    
  2. 批量插入提升效率:处理76000条数据时,单条循环插入会非常慢,建议攒够一定数量的记录(比如1000条)后批量插入数据库,能大幅减少数据库连接开销,具体实现可参考你使用的数据库驱动文档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:03:22