我是新來的sqlite和我認爲這個問題應該已經回答之前,但我還沒有能夠找到答案。 我有一個約50個元素的列表,我需要寫入一個sqlite數據庫與50列。 檢查了文檔@https://docs.python.org/2/library/sqlite3.html,但在示例中,值由? ?(因此對於寫入3個值,3被指定python sqlite:寫一個大列表到sqlite數據庫
示例代碼:
row_to_write = range(50) conn = sqlite3.connect('C:\sample_database\sample_database') c = conn.cursor()
嘗試這些:
方法1
c.execute("INSERT INTO PMU VALUES (?)", row_to_write) ERROR: OperationalError: table PMU has 50 columns but 1 values were supplied
方法2 ......嘗試寫一個生成器迭代列表
def write_row_value_generator(row_to_write): for val in row_to_write: yield (val,)
c.executemany("INSERT INTO PMU VALUES (?)", write_row_value_generator(row_to_write))
ERROR: OperationalError: table PMU has 50 columns but 1 values were supplied
這樣做的正確方法是什麼?
請提供證明該錯誤的短,完整的程序以便其他人可能會重現您的問題。 – 2014-09-26 20:19:36