myApp.py
json
import json
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import time
import pathlib
def main():
pass
if __name__ == "__main__":
main()
pages/01_eva.py
import json
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import time
import pathlib
# ページ設定===========================================================================================================
import json
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import time
import pathlib
def main():
# ページ設定===========================================================================================================
st.header('sensor_comp紐づけツール')
# ファイル処理=============================================================================================================
# 初回起動時や、JSONの形がおかしかった場合には,保存用JSONファイルを初期化する処理が必要
pass
#comp_dbの呼び出し
with open('./dataset_common/comp_db.json', 'r', encoding='utf-8') as fr:
comp_db_json = json.load(fr)
#加速度計-評価対象機器の呼び出し
with open('./dataset_acoustic/acc_evaluate_comp.json', 'r', encoding='utf-8') as fr:
acc_evaluate_json = json.load(fr)
# 変数定義==============================================================================================================
comp_list = list(comp_db_json.keys())
acc_list = ['acc1', 'acc2', 'acc3'] #いずれは自動取得したい
# メイン処理=============================================================================================================
# accの数だけマルチセレクトboxを作成
for acc_name in acc_list:
evaluate_list_saved = acc_evaluate_json[acc_name] #そのaccでの評価対象機器リスト(保存済み)を取得
acc_evaluate_json[acc_name] = st.multiselect(acc_name, options=comp_list, default=evaluate_list_saved)
#一次保存
if st.button('一次保存', key='my_button2'):
with open('./dataset_acoustic/acc_evaluate_comp.json', 'w', encoding='utf-8') as fw:
json.dump(acc_evaluate_json, fw, indent=4)
st.write('一次保存完了')
st.write('最終保存時刻: ', str(datetime.datetime.now().strftime('%Y/%m/%d, %H:%M')))
if __name__ == '__main__':
main()
acc_evaluate_comp.json
#表を作成
comp_db.json
{
"acc1": [
"comp1",
"comp3"
],
"acc2": [
"comp1",
"comp2"
],
"acc3": [
"comp3"
]
}
{
"comp1": {
"mass_kg": 10,
"x_rand": [40, 100, 400, 2000],
"y_rand": [0.05, 0.2, 0.2, 0.03]
},
"comp2": {
"mass_kg": 20,
"x_rand": [40, 70, 200, 300, 1000, 2000],
"y_rand": [0.05, 0.2, 0.2, 0.1, 0.1, 0.03]
},
"comp3": {
"mass_kg": 20,
"x_rand": [40, 250, 500, 2000],
"y_rand": [0.05, 0.1, 0.1, 0.03]
}
}