Bokeh jak pobrać plik z katalogiem?

0

Pytanie

Próbuję zmusić plik pracować w bokeh. Podczas korzystania z input widget, on daje mi tylko nazwę pliku. Jak zrobić nazwa pliku z katalogu, aby po otwarciu pliku nie było błędów?

csvfile = FileInput() # csvfile = ('C:/matlab0012.csv')
csvopen = myfun(csvfile) # myfun-my function that creates graphs from data from a file
bokeh input python-3.x
2021-11-23 11:07:58
2
0

To niemożliwe. Ze względów bezpieczeństwa przeglądarki nie będą podawać pełną ścieżkę. Oferują oni tylko nazwa pliku i zawartość pliku z żądanego pliku.

Zakładając, że jest to serwer aplikacji Bokeh, można odpowiedzieć na wybór pliku tylko on_change oddzwanianie, który można dodać do value własność firmy input widget.

Jeśli jest to samodzielny wniosek (nie serwer Bokeh), to można odpowiadać tylko za pomocą JavaScript js_on_change oddzwanianie, ponieważ zawartość Bokeh, wyświetlaną w przeglądarce, nie wiąże się z jakimkolwiek procesem Python.

W każdym razie wszystko, co przeglądarka zapewni, to zawartość pliku (który Bokeh przechowuje w postaci ciągów znaków w kodowaniu base64 w value intelektualna).

2021-11-23 15:48:13
0

@bigreddot rację. nie można uzyskać pełną ścieżkę. ale można dostać się do wybranego pliku. Jednak najpierw trzeba go rozszyfrować.

minimalny przykład :

from pybase64 import b64decode

def get_file(attr, old, new):
    file = io.BytesIO(b64decode(new))
    new_data = pd.read_csv(file)  # pandas or just use open.

file_input = FileInput(name="fileinput", accept="<.csv>")
file_input.on_change('value', get_file)
2021-11-23 15:37:20

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................