是否可以使用python将列表作为新列添加到sqlite数据库中



我在sqlite3的数据库中有一个表,我试图将python的值添加到一个列表中作为一个新列。我只能找到如何添加一个没有值的新列或改变特定的行,有人能帮助我吗?

这可能是你可以谷歌的东西。

我找不到任何方法在创建时向列添加数据,但是如果有帮助的话,您可以添加默认值(ALTER TABLE table_name ADD COLUMN column_name NOT NULL DEFAULT default_value)。然后,您将不得不单独添加数据。有几个地方可以找到如何做到这一点。这些问题可能是相关的:

使用for循环

用Python列表中的数据填充Sqlite3列在SQLite3中添加列,然后填充

您可以将数据库读入pandas数据框架,将列表作为列添加到该数据框架,然后替换数据框架中的原始文件:

import sqlite3
import pandas as pd
conn = sqlite3.connect("my_data.db")
df = pd.read_sql_query("SELECT * FROM my_table", conn)
conn.close()
df['new_column'] = my_list
conn = sqlite3.connect("my_data.db")
df.to_sql(name='my_table', if_exists='replace', con=conn)
conn.close()