parquet-2-JSONL / app.py
mrcuddle's picture
Update app.py
7773ef1 verified
raw
history blame
1.15 kB
import gradio as gr
import pandas as pd
import requests
import spaces
@spaces.GPU
def convert_parquet_to_jsonl(parquet_file=None, parquet_url=None):
if parquet_file is not None:
df = pd.read_parquet(parquet_file.name)
elif parquet_url is not None:
response = requests.get(parquet_url)
df = pd.read_parquet(response.content)
else:
raise ValueError("Either parquet_file or parquet_url must be provided")
jsonl_data = df.to_json(orient='records', lines=True)
return jsonl_data
def main(url):
parquet_file = download_file(url)
jsonl_data = convert_parquet_to_jsonl(parquet_file)
with open("output.jsonl", "w") as f:
f.write(jsonl_data)
return "output.jsonl"
theme = "Ytheme/Minecraft"
demo = gr.Interface(theme=theme,
fn=convert_parquet_to_jsonl,
inputs=[gr.File(label="Parquet File"), gr.Textbox(label="Parquet File URL")],
outputs=[gr.File(label="JSONL Output")],
title="Parquet to JSONL Converter",
description="Input a Parquet file by a downloadable link or file upload and convert it to JSONL format"
)
if __name__ == "__main__":
demo.launch()