次の行を含む .txt ファイルがあります。
23;Pablo;SanJose
45;Rose;Makati
私はこのプログラムを持っています:
file = open("C:/Users/renato/Desktop/HTML Files/myfile2.txt")
def query(id):
    for line in file:
        table = {}
        (table["ID"],table["name"],table["city"]) = line.split(";")
        if id == int(table["ID"]):
             file.close()
             return table
        else:
             file.close()
             return {}
id = int(input("Enter the ID of the user: "))
table2 = query(id)
print("ID: "+table2["ID"])
print("Name: "+table2["name"])
print("City: "+table2["city"])
それで、何が起こっているか(私によると)は次のとおりです。
ファイルが開かれる と呼ばれるハッシュtableが作成され、ファイルの各行が 3 つのキー/値に分割されます。ユーザーがid入力した が key の値と一致する場合ID、ファイルを閉じてハッシュ全体を返します。
table2次に、ハッシュに値を割り当て、その値をtable出力しようとしています。
これを実行すると、次のようになります。
   Traceback (most recent call last):
   File "C:/Users/renato/Desktop/HTML Files/Python/hash2.py", line 17, in <module>
    print("ID: "+table2["ID"])
    KeyError: 'ID'
varのキーIDを認識していないようです。関数が実行される前に置くことでハッシュとしてtable2宣言しようとしましたが、引き続きエラー メッセージが表示されます。table2table2 = {}
返されたハッシュの値を変数に割り当てて、それらを使用して出力できるようにするにはどうすればよいkeysですか?