Python导入CSV到Firebase Realtime Database时提示找不到数据库求助
报错根因
你当前代码调用的是firestore.client()接口,该接口对应Google Cloud Firestore文档数据库,与你已创建的Firebase实时数据库属于两款完全独立的云数据库产品,接口互不兼容。代码运行时会自动检索当前项目下的活跃Firestore实例,未检索到就会触发对应报错,Google Cloud完全支持Firebase实时数据库,不存在不兼容问题。
解决方案
方案1:修改代码适配已创建的Firebase实时数据库
替换原有Firestore相关调用逻辑,改用实时数据库专用SDK,修改后完整代码如下:
import pandas as pd import firebase_admin from firebase_admin import credentials, db # 替换为你的服务账号证书文件实际路径 cred = credentials.Certificate("crt") # 替换为Firebase控制台实时数据库页面显示的完整databaseURL firebase_admin.initialize_app(cred,{ 'databaseURL': '你的实时数据库访问地址' }) # 获取实时数据库根节点引用 root_ref = db.reference() # 指定数据写入的目标节点,对应你原逻辑的actors集合 actor_ref = root_ref.child('actors') # 导入CSV数据并写入数据库 df = pd.read_csv("./hw1_datasets/actor.csv") data_list = df.to_dict(orient='records') for idx, item in enumerate(data_list): # 以序列为key写入节点,也可自定义节点key actor_ref.child(str(idx)).set(item)
需额外检查两个配置项:
- 服务账号证书需从当前Firebase项目的「项目设置-服务账号」页面生成,不可混用其他项目的证书
databaseURL需和你创建的实时数据库地址完全一致,需包含对应的区域后缀
方案2:保留原有代码,开启Firestore数据库
如果你可以接受使用Firestore存储数据,直接前往Firebase控制台的「构建-Firestore Database」页面,按指引开启对应区域的Firestore实例,初始化完成后原有代码即可正常运行。
内容的提问来源于stack exchange,提问作者S H
相关产品推荐
相关产品推荐

