|
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() |