human
次の構造["name"、 "url"、 "rating"]を使用してCSVファイルを処理するPythonコードを書いて、pngとして保存してURL行の下の各画像をダウンロードし、名前をファイル名として使用して保存します名前として評価を使用したサブフォルダーの下で、TKINTER GUIを追加して、CSVファイルと出力パスを選択できます。
gpt
```
import csv
import requests
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox

def process_csv(csv_file, output_path):
    with open(csv_file, "r") as file:
        reader = csv.reader(file)
        header = next(reader) # skip the header row
        for row in reader:
            name, url, rating = row
            response = requests.get(url)
            if response.status_code == 200:
                subfolder = output_path + "/" + rating
                if not os.path.exists(subfolder):
                    os.makedirs(subfolder)
                file_path = subfolder + "/" + name + ".png"
                with open(file_path, "wb") as f:
                    f.write(response.content)
            else:
                messagebox.showerror("Error", f"Failed to download {name} from {url}")

def select_csv():
    csv_file = filedialog.askopenfilename(initialdir = "/", title = "Select CSV file", filetypes = (("CSV files", "*.csv"), ("all files", "*.*")))
    if csv_file:
        return csv_file

def select_output_path():
    output_path = filedialog.askdirectory(initialdir = "/", title = "Select output path")
    if output_path:
        return output_path

root = tk.Tk()
root.withdraw()
csv_file = select_csv()
if csv_file:
    output_path = select_output_path()
    if output_path:
        process_csv(csv_file, output_path)
        messagebox.showinfo("Success", "Processing completed")
```
human
よかった。ありがとう！保存する前に、すべての画像を同じ解像度にサイズ変更するように、プログラムを変更してください。解像度は、デフォルト値500x500でGUIを介して尋ねる必要があります。