Прочитайте файл csv с помощью Shiny для Python с помощью ui.input_file().Python

Программы на Python
Anonymous
Прочитайте файл csv с помощью Shiny для Python с помощью ui.input_file().

Сообщение Anonymous »

Я хотел бы прочитать CSV-файл с помощью функции ui.input_file() (она работает), а затем визуализировать его в формате фрейма данных или таблицы в качестве вывода в приложении (это не работает). >
Я нашел этот документ на posit, но пример не позволяет отобразить таблицу в приложении (даже на веб-сайте).
Я пытался просто отобразите pd.read_csv(input.file()[0]["datapath"]) в def summary(), но я не уверен, как получить доступ к этому ключу словаря "datapath", связанному с ввод.
Я также попробовал этот код ниже.

Код: Выделить всё

import pandas as pd

from shiny import App, Inputs, Outputs, Session, reactive, render, ui
from shiny.types import FileInfo

app_ui = ui.page_fluid(
ui.input_file("file1", "Choose CSV File", accept=[".csv"], multiple=False),
ui.output_table("summary"),
)

def server(input: Inputs, output: Outputs, session: Session):
@reactive.calc
def parsed_file():
file: list[FileInfo] | None = input.file1()
if file is None:
return pd.DataFrame()
return pd.read_csv(  # pyright: ignore[reportUnknownMemberType]
file[0]["datapath"]
)

@render.table
def summary():
df = parsed_file()

if df.empty:
return pd.DataFrame()

return df.head()

app = App(app_ui, server)
Большая часть документации предназначена для R, и я не могу найти решение для Python.
До сих пор я читал файл csv. с pandas перед созданием приложения, но я хочу, чтобы пользователь загрузил файл, чтобы это решение больше не работало.
Моя блестящая версия: 0.10.2
Версия pandas: 2.2 .2
Питон: 3.12.1

Подробнее здесь: https://stackoverflow.com/questions/787 ... input-file

Вернуться в «Python»