我的表有3列:ID,Author和In_order。我正在閱讀文件,並且一行包含由逗號分隔的作者列表。我試圖實現的是將作者的姓名插入到作者列中,並在ID字段中輸入正確的ID,然後在列表中出現的位置(它總是按順序排列)。我想到底是我的表看起來像這樣:Python,如何按給定順序將列表插入表中的列
ID Author In_order
1 Author1 1
1 Author2 2
1 Author3 3
2 Author1 1
2 Author2 2
3 Author1 1
3 Author2 2
我用枚舉函數給每筆者在列表中的位置。
以下是與此問題相關的代碼。
author_list = line.split(",")
for In_order, author in enumerate(author_list, start=1):
In_order = In_order
author = author
db1.execute('''INSERT INTO authors(
ID, AUTHOR, In_order) VALUES(%s,%s,%s)''',
(ID, author, In_order))
我不確定究竟要在In_order和author變量中存儲什麼。 代碼將運行,但只有列表中的最後一位作者會與其相應的ID及其在列表中的正確位置一起插入表中。即:
ID Author In_order
1 Author3 3
2 Author2 2
3 Author2 2
任何意見,將不勝感激我對python和mysql都是新手!
你的插入是從'for'循環中「縮進」的,所以'db1'的東西在循環完成後運行,這意味着你只會得到循環迭代的最後一個項目。 –