import gradio as gr import pandas as pd import tempfile import os def double_age(csv_file): # ファイル名を取得 file_name = csv_file.name # CSVファイルを読み込む df = pd.read_csv(file_name) # ageカラムの値を2倍にする df['age'] = df['age'] * 2 # 一時ファイルを作成し、CSVデータを書き込む with tempfile.NamedTemporaryFile(delete=False, suffix='.csv') as tmp: df.to_csv(tmp.name, index=False) tmp_path = tmp.name # ファイル名を変更 new_path = os.path.join(os.path.dirname(tmp_path), "sample.csv") os.rename(tmp_path, new_path) return new_path interface = gr.Interface( fn=double_age, inputs=gr.File(label="CSVファイルをアップロード"), outputs=gr.File(label="ダウンロード", file_count="singular"), allow_flagging="never", live=True, examples=None, # キャンセルと実行のボタン名を変更 cancel_button="キャンセル", submit_button="実行", ) interface.launch(share=True)