RobinChu's picture
initial commit
e42f219
raw
history blame contribute delete
774 Bytes
import tempfile
import pandas as pd
import gradio as gr
import json
import plotly.io as pio
class DownloadHelper:
@staticmethod
def df2csv(df: pd.DataFrame, prefix: str):
with tempfile.NamedTemporaryFile(mode="w", delete=False, prefix=f"{prefix}_",
suffix=".csv", encoding="utf-8") as tmpfile:
df.to_csv(tmpfile.name, index=False)
return tmpfile.name
@staticmethod
def fig2png(fig: gr.components.plot.PlotData, prefix: str):
with tempfile.NamedTemporaryFile(mode="wb", delete=False, prefix=f"{prefix}_",
suffix=".png") as tmpfile:
pio.write_image(json.loads(fig.plot), tmpfile.name, format="png")
return tmpfile.name