将sqlite3数据从csv追加到1列为id INTEGER主键AUTOINCREMENT的表中

2024-06-14 03:57:42 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个表,它的第一列叫做autoincrement

现在,假设表中有ID为-1,2,3的数据

我在csv中也有一些数据,以id 1,2,3开头

这是我试图使用的代码-

cur.execute("CREATE TABLE IF NOT EXISTS sub_features (id INTEGER PRIMARY KEY AUTOINCREMENT,featureId INTEGER, name TEXT, FOREIGN KEY(featureId) REFERENCES features(id))")
df = pd.read_csv(csv_location+'/sub_features_table.csv')
df.to_sql("sub_features", con, if_exists='append', index=False)

我得到了这个错误-

sqlite3.IntegrityError: UNIQUE constraint failed: sub_features.id

我如何确保数据被追加,id被按照要求设置,如果整行都是重复的,那么它就会被忽略

为了进一步解释,假设我有一张桌子:

id   |   Name
1    |   Abhisek
2    |   Amit

我正在尝试将此csv导入到同一个表中:

id   |   Name
1    |   Abhisek
2    |   Rahul

那么我的结果表应该是:

id   |   Name
1    |   Abhisek
2    |   Amit
3    |   Rahul

Tags: csv数据key代码nameiddfinteger