import csv


# 顧客データを格納するリスト
customers = []


def load_data():
    """CSVファイルから顧客データをロード"""
    try:
        with open('customers.csv', 'r', newline='') as f:
            reader = csv.reader(f)
            for row in reader:
                customers.append(row)
    except FileNotFoundError:
        print("顧客データが見つかりません。")


def save_data():
    """顧客データをCSVファイルに保存"""
    with open('customers.csv', 'w', newline='') as f:
        writer = csv.writer(f)
        writer.writerows(customers)


def show_menu():
    print("1. 顧客登録")
    print("2. 顧客検索")
    print("3. 顧客情報更新")
    print("4. 顧客削除")
    print("5. 終了")


def register_customer():
    company_name = input("会社名を入力してください: ")
    department = input("部署名を入力してください: ")
    name = input("担当者名を入力してください: ")
    tel = input("電話番号を入力してください: ")
    mobile = input("携帯電話番号を入力してください: ")
    address = input("住所を入力してください: ")
    mail = input("メールアドレス所を入力してください: ")
    remarks = input("備考を入力してください: ")
    customers.append([company_name, department, name, tel, mobile, address, mail, remarks])
    print("顧客情報を登録しました。")


def search_customer():
    search_keyword = input("検索キーワードを入力してください: ")
    for customer in customers:
        if search_keyword in customer:
            print("会社名:", customer[0])
            print("部署名:", customer[1])
            print("担当者名:", customer[2])
            print("電話番号:", customer[3])
            print("携帯電話番号:", customer[4])
            print("住所:", customer[5])
            print("メールアドレス:", customer[6])
            print("備考:", customer[7])
            return
    print("該当する顧客が見つかりません。")


def update_customer():
    search_keyword = input("更新したい顧客の会社名または担当者名を入力してください: ")
    for i, customer in enumerate(customers):
        if search_keyword in customer:
            print("更新する項目を選択してください:")
            print("1. 会社名")
            print("2. 部署名")
            print("3. 担当者名")
            print("4. 電話番号")
            print("5. 携帯電話番号")
            print("6. 住所")
            print("7. メールアドレス")
            print("8. 備考")
            choice = input()
            new_value = input("新しい値を入力してください: ")
            customers[i][int(choice)-1] = new_value
            print("顧客情報を更新しました。")
            return
    print("該当する顧客が見つかりません。")


def delete_customer():
    search_keyword = input("削除したい顧客の会社名または担当者名を入力してください: ")
    for i, customer in enumerate(customers):
        if search_keyword in customer:
            del customers[i]
            print("顧客情報を削除しました。")
            return
    print("該当する顧客が見つかりません。")


if __name__ == "__main__":
    load_data()


    while True:
        show_menu()
        choice = input("メニューを選択してください: ")


        if choice == '1':
            register_customer()
        elif choice == '2':
            search_customer()
        elif choice == '3':
            update_customer()
        elif choice == '4':
            delete_customer()
        elif choice == '5':
            save_data()
            print("終了します。")
            break
        else:
            print("無効な入力です。")