所以我試圖在 MySQL 上使用我的(不斷更新的)資料庫和一些我想放入我的 Streamlit 應用程式的可視化。換句話說,我想在我的 Streamlit 應用程式中使用 MySQL 資料庫中的資料。
為此,我在此處查閱了官方流媒體檔案。
這里的問題是教程告訴我創建一個這樣的檔案:.streamlit/secrets.toml并用以下資訊填充它(復制粘貼語法):
[
mysql
]
host = "localhost"
port = 3306
database = "xxx"
user = "xxx"
password = "xxx"
到目前為止一切都很好,但是當我將我的secret.toml資訊粘貼到 SECRET MANAGEMENT 小部件中時(當我在 Streamlit 云中創建新應用程式時會提示),它給了我一個語法錯誤。
格式無效:請輸入有效的 TOML。
到目前為止,我一直在看這本書(教程)。現在回顧一下,我嘗試只使用如下變數定義(因為我不知道.toml語法):
db_user = "root"
db_name = "dbname"
db_password = "123abc"
我這樣做對嗎?還是我錯過了一些明顯的東西?
拋開所有這些,我還需要知道如何為我的應用程式呼叫對流云的依賴。例如,我需要mysql-connector-python模塊,但我沒有看到任何可以執行此操作的控制臺
注意:這是我第一次在云上部署應用程式
uj5u.com熱心網友回復:
[
mysql
]
它應該 [mysql] 在一行
在您的 GitHub 存盤庫中,添加requirements.txt包含依賴項的檔案。
streamlit cloud 將為您的應用程式安裝這些軟體包。
uj5u.com熱心網友回復:
我想通知我們可以在 Streamlit 應用程式中使用資料庫的另一種方式,而不是使用傳統方法。
我們可以在這里參考這篇Medium.com 文章。
它解釋了我們可以使用PandasLibrary 加載資料庫并實時更新的一種方式。通過使用這些知識,連接到資料庫成為一個“Python”問題,而不是一個“streamlit”問題。
假設我們正在使用 MySQL
我們可以根據MySQL 資料庫的官方教程,創建一個.streamlit/secrets.toml檔案,我們將在其中存盤我們的資訊(與我們的資料庫相關),如下所示:
# .streamlit/secrets.toml
[
mysql
]
host = "localhost"
port = 3306
database = "xxx"
user = "xxx"
password = "xxx"
還mysql-connector-python為 python安裝并將其匯入到您的應用程式檔案中。您還需要Pandas和toml當然:
pip install mysql-connector-python pandas toml
這是他們每個人所做的: | 圖書館 | 它的用途| | -------- | -------------- | | mysql-connector-python | 連接到我們的資料庫 | | 熊貓 | 讀取我們的資料庫表并將其轉換為Dataframe | |湯姆| 從secrets.toml 檔案中讀取詳細資訊|
步驟1
我們從 secrets.toml
# Reading data
toml_data = toml.load("secrets.toml")
# saving each credential into a variable
HOST_NAME = toml_data['mysql']['host']
DATABASE = toml_data['mysql']['database']
PASSWORD = toml_data['mysql']['password']
USER = toml_data['mysql']['user']
PORT = toml_data['mysql']['port']
第2步
連接到我們的資料庫:
# Using the variables we read from secrets.toml
mydb = connection.connect(host=HOST_NAME, database=DATABASE, user=USER, passwd=PASSWORD, use_pure=True)
第 3 步
從我們的資料庫進行查詢:
query = pd.read_sql('SELECT * FROM mytable;' , mydb)
該query變數現在是流光或 Jupyter 筆記本中可顯示的表格
同樣,我們可以從我們的資料庫中進行任何我們想要的 MySQL 查詢(應用語法)。
這些資訊是基于我自己的經驗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/385819.html
