#python #jupyter #ipywidgets #filechooser #voila
Вопрос:
Я создаю веб — страницу с помощью Вуаля.
Я хочу использовать виджет для загрузки фрейма данных:
import ipywidgets as ipw
from ipyfilechooser import FileChooser
fc = FileChooser()
df = pd.read_csv(fc.value)
Загружаемый файл представляет собой файл .csv в виде:
run_#,run_type,reaction_id,nuc_reaction,energy,fileresidual,abundance,mass,element,projectile,run_path,result_path
,TALYS,1,natMo-a,1 40 1,y,1.0,Multi,Multi,a,/home/alletro/Tc-97/talys/xs_run_1/1,/home/alletro/Tc-97/talys/xs_result_1/1
1,TALYS,1a,92Mo-a,1 40 1,y,0.1453,92,Mo,a,/home/alletro/Tc-97/talys/xs_run_1/1/a,/home/alletro/Tc-97/talys/xs_result_1/1/a
1,TALYS,1b,94Mo-a,1 40 1,y,0.0915,94,Mo,a,/home/alletro/Tc-97/talys/xs_run_1/1/b,/home/alletro/Tc-97/talys/xs_result_1/1/b
Затем я хочу, чтобы загруженный фрейм данных обновил виджет ipysheet дальше в записной книжке. Лист будет отображаться с фреймом данных по умолчанию до тех пор, пока фрейм данных не будет загружен из FileChooser
df = pd.DataFrame(np.zeros([1,12]), columns=['run_#','run_type', 'reaction_id', 'nuc_reaction' ,'energy', 'fileresidual', 'abundance','mass', 'element', 'projectile', 'run_path', 'result_path'])
sheet = ips.from_dataframe(df)
display(sheet)
Я видел, как observate() и inspect() могут использоваться для исследования изменений переменных, но не могу понять, как это будет работать с фреймом данных.