Streamlit入門
データベースの準備
弊社では,簡易的なWebアプリを作成するときに,streamlitを使っています.streamlitを使うことによって,より簡単に,かつ高速に簡易Webアプリを構築できるからです.
ここでは,streamlitとmongodbを用いた,簡単なCRUDアプリを作成していきます.
まず,データベースとしてNo SQL型のmongodbを使うのですが,ローカルにデータベースを作成するのは面倒なので,クラウドのmongodb atlasを使うことにします.
Pythonからmongodbに接続するために,pymongoパッケージをインストールしておきます.streamlitと同様に,pipで入れられます.
例として,都道府県の県庁所在地の緯度経度情報を入れたcust.csvというデータをデータベースに保存しましょう.
from pymongo import MongoClient
client = MongoClient(“接続文字列”)
db = client.test #テスト用database
cust_df = pd.read_csv(folder+”Cust.csv”, index_col=0)
db.cust_df.drop()
db.cust_df.create_index(“name”, unique =True)
db.cust_df.insert_many(cust_df.to_dict(“records”))
最後の5つを表示してみましょう.
_id | name | lat | lon | |
---|---|---|---|---|
42 | 5f3b5a3443d68ac629f7f02b | 熊本市 | 32.78972 | 130.74167 |
43 | 5f3b5a3443d68ac629f7f02c | 大分市 | 33.23806 | 131.61250 |
44 | 5f3b5a3443d68ac629f7f02d | 宮崎市 | 31.91111 | 131.42389 |
45 | 5f3b5a3443d68ac629f7f02e | 鹿児島市 | 31.56028 | 130.55806 |
46 | 5f3b5a3443d68ac629f7f02f | 那覇市 | 26.21250 | 127.68111 |
表示
それではデータをstreamlitで表示してみます.まず,必要なパッケージを読み込みます.
mongodbとの接続は,streamlitのキャッシュ機能を用いて,1度だけ接続するようにしておきます.
データの更新と削除
データの追加
データの追加も同様です.