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度だけ接続するようにしておきます.
 
            
                        データの更新と削除
 
            
                        データの追加
データの追加も同様です.
 
            
                        

