Bokeh come caricare un file con la sua cartella?

0

Domanda

Sto cercando di ottenere i file di lavoro in bokeh. Quando si utilizza il input widget, mi dà solo il nome del file. Come fare un nome di file con directory, all'apertura del file non ci sono stati errori?

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

Questo è impossibile. Per motivi di sicurezza, i browser non fornire il percorso completo. Essi forniscono solo il nome del file e il contenuto del file dal file che è stato richiesto.

Supponendo che questi è un Bokeh applicazione server, si può solo rispondere a una selezione dei file con un on_change richiamata, che si aggiunge al value proprietà del input widget.

Se questo è standalone uscita (non Bokeh server), allora si può solo rispondere con un JavaScript js_on_change richiamata dal momento che il Bokeh del contenuto visualizzato nel browser non è collegato a qualsiasi Python processo.

In entrambi i casi, tutto quello che il browser fornire è il contenuto del file (che Bokeh depositi come codificato base64 stringhe in value la struttura).

2021-11-23 15:48:13
0

@bigreddot è giusto. non è possibile ottenere il percorso completo. ma si può raggiungere il file selezionato. Tuttavia, è necessario per decodificare prima.

esempio minimo :

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

In altre lingue

Questa pagina è in altre lingue

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