User:次の構造["name"、 "url"、 "rating"]を使用してCSVファイルを処理するPythonコードを書いて、pngとして保存してURL行の下の各画像をダウンロードし、名前をファイル名として使用して保存します名前として評価を使用したサブフォルダーの下で、TKINTER GUIを追加して、CSVファイルと出力パスを選択できます。 Assistant:CSVをインポートします
リクエストをインポートします
TKinterをTKとしてインポートします
TkinterからImport FileDialogから
tkinterからメッセージボックスをインポートします

def process_csv（csv_file、output_path）：
    open（csv_file、 "r"）をファイルとして：
        reader = csv.reader（file）
        header = next（reader）＃ヘッダー行をスキップします
        読者の列のために：
            名前、url、rating = row
            response = requests.get（url）
            response.status_code == 200の場合：
                subfolder = output_path + "/" + rating
                os.path.exists（subfolder）ではない場合：
                    os.makedirs（サブフォルダー）
                file_path = subfolder + "/" + name + ".png"
                open（file_path、 "wb"）としてf：
                    f.write（respons.content）
            それ以外：
                messagebox.showerror（ "error"、f "{url}から{name}をダウンロードできなかった"）

def select_csv（）：
    csv_file = filedialog.askopenfilename（initialdir = "/"、title = "select csv file"、filetypes =（（ "csv files"、 "*.csv"）、（ "all files"、 "*。*"）））））
    csv_fileの場合：
        csv_fileを返します

def select_output_path（）：
    output_path = filedialog.askdirectory（initialdir = "/"、title = "select output path"））
    output_pathの場合：
        return output_path

root = tk.tk（）
root.withdraw（）
csv_file = select_csv（）
csv_fileの場合：
    output_path = select_output_path（）
    output_pathの場合：
        process_csv（csv_file、output_path）
        messagebox.showinfo（ "success"、 "処理完了"） 
User:実際に複数のCSVを一度に処理する必要があることに気付きました。コードを変更して、それを許可できますか？
複数のCSVファイルを処理するための更新されたコードは次のとおりです。

`` `
CSVをインポートします
OSをインポートします
リクエストをインポートします
TKinterをTKとしてインポートします
TkinterからImport FileDialogから
tkinterからメッセージボックスをインポートします

def process_csv（csv_file、output_path）：
    open（csv_file、 "r"）をファイルとして：
        reader = csv.reader（file）
        header = next（reader）＃ヘッダー行をスキップします
        読者の列のために：
            名前、url、rating = row
            response = requests.get（url）
            response.status_code == 200の場合：
                subfolder = output_path + "/" + rating
                os.path.exists（subfolder）ではない場合：
                    os.makedirs（サブフォルダー）
                file_path = subfolder + "/" + name + ".png"
                open（file_path、 "wb"）としてf：
                    f.write（respons.content）
            それ以外：
                messagebox.showerror（ "error"、f "{url}から{name}をダウンロードできなかった"）

def select_csv（）：
    csv_files = filedialog.askopenfilenames（initialdir = "/"、title = "select csv files"、filetypes =（（ "csv files"、 "*.csv"）、（ "all files"、 "*。*"）））））
    csv_filesの場合：
        csv_filesを返します

def select_output_path（）：
    output_path = filedialog.askdirectory（initialdir = "/"、title = "select output path"））
    output_pathの場合：
        return output_path

root = tk.tk（）
root.withdraw（）
csv_files = select_csv（）
csv_filesの場合：
    output_path = select_output_path（）
    output_pathの場合：
        csv_filesのcsv_fileの場合：
            process_csv（csv_file、output_path）
        messagebox.showinfo（ "success"、 "処理完了"）
`` `