ydata_profiling / app.py
tonne's picture
Change width to 80
4d03a93
raw
history blame contribute delete
No virus
991 Bytes
import gradio as gr
import pandas as pd
from ydata_profiling import ProfileReport
def generate_profile(files_path):
dfs = []
for file_path in files_path:
if "csv" in file_path:
dfs.append(pd.read_csv(file_path))
elif "json" in file_path:
dfs.append(pd.read_json(file_path))
elif "pq" in file_path:
dfs.append(pd.read_parquet(file_path))
df = pd.concat(dfs, axis=0)
profile = ProfileReport(df, title="Profiling Report")
profile_html = profile.to_html()
return profile_html
inputs = gr.Files(file_types=["csv", "pq", "json"],
show_label=True, min_width=80)
iface = gr.Interface(fn=generate_profile,
inputs=inputs,
outputs=gr.HTML(),
live=True,
title="CSV Profiling Tool",
description="Upload a CSV file to generate a data profiling report.",
)
iface.launch()