gpt4 book ai didi

python - 如何获取Firebase数据?

转载 作者:行者123 更新时间:2023-12-02 06:52:55 25 4
gpt4 key购买 nike

我是 python 和 firebase 的新手,我正在尝试扁平化我的 firebase 数据库。

我有一个这种格式的数据库

enter image description here

每只猫都有数千条数据。我想要的只是获取猫的名字并将它们放入一个数组中。例如我希望输出为 ['cat1','cat2'....]

我正在使用这个教程 http://ozgur.github.io/python-firebase/

from firebase import firebase
firebase = firebase.FirebaseApplication('https://your_storage.firebaseio.com', None)
result = firebase.get('/Data', None)

上述代码的问题是它会尝试获取“数据”下的所有数据。我怎样才能只获取“猫”?

最佳答案

如果您想以列的形式获取猫内的值,请尝试使用 pyrebase ,在 cmd/anaconda Prompt 处使用 pip installpyrebase(如果您未在环境路径中设置 PIP 或 Python,则首选此方法。之后)安装:

import pyrebase

config {"apiKey": yourapikey
"authDomain": yourapidomain
"databaseURL": yourdatabaseurl,
"storageBucket": yourstoragebucket,
"serviceAccount": yourserviceaccount
}

注意:您可以在 Firebase 控制台中找到上述所有信息: https://console.firebase.google.com/project/ >>> 你的项目 >>> 点击图标“<'/>”,标签为“add firebase to your web app

回到代码...

做出一个简洁的定义,以便您可以将其存储到 py 文件中:

def connect_firebase():
# add a way to encrypt those, I'm a starter myself and don't know how
username: "usernameyoucreatedatfirebase"
password: "passwordforaboveuser"

firebase = pyrebase.initialize_app(config)
auth = firebase.auth()

#authenticate a user > descobrir como não deixar hardcoded
user = auth.sign_in_with_email_and_password(username, password)

#user['idToken']
# At pyrebase's git the author said the token expires every 1 hour, so it's needed to refresh it
user = auth.refresh(user['refreshToken'])

#set database
db = firebase.database()

return db

好的,现在将其保存到一个整洁的 .py 文件中

接下来,在您的新笔记本或主 .py 中,您将导入这个新的 .py 文件,我们从现在开始将其称为 auth.py。 ..

from auth import *

# add do a variable
db = connect_firebase()

#and now the hard/ easy part that took me a while to figure out:
# notice the value inside the .child, it should be the parent name with all the cats keys
values = db.child('cats').get()

# adding all to a dataframe you'll need to use the .val()
data = pd.DataFrame(values.val())

就是这样,print(data.head()) 检查值/列是否位于预期位置。

关于python - 如何获取Firebase数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47985517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com