如何输入相同的条目? 我的桌面播放器有两个重复的方面(名称,wowp_id)。如何合并它们?
我一直在寻找相关的问题。下面的代码基于我找到的答案。进程运行良好,但仍有重复项。我希望没有重复的名字。如果多个名称的wowp_id不同,我希望删除wowp_id并只保留名称的一个条目。
def sql_removeduplicates():
con = sqlite3.connect('WOWT.sql')
with con:
cur = con.cursor()
cur.execute("SELECT name, COUNT(*) FROM players GROUP BY name, team, wowp_id HAVING COUNT(*) > 1")
rows = cur.fetchall()
con.commit()
for row in rows:
print row
我的球员阵容:
(id, wowp_id, name, team)
(108, 501078041, u'prazluges', None)
(109, 507894244, u'Aidis', None)
(110, 500742127, u'Aidis', None)
(111, u'Aidis', u'Aidis', None)
(112, u'Aidis', u'Aidis', None)
(113, 500864543, u'prazluges', None)
(114, u'Aidis', u'Aidis', None)
(115, u'Aidis', u'Aidis', None)
(116, u'Aidis', u'Aidis', None)
(117, 501078041, u'satih', None)
(118, u'Aidis', u'Aidis', None)
你可以的
注意:在继续进行
DELETE
之前,请确保您的数据有可靠的备份。从表中删除重复项后,请确保创建
UNIQUE
约束重复数据消除后的结果:
这里是演示
将结果导入到自定义类的set中,并定义contains方法以保留所需内容。示例如下:
然后将您的行导入一个players实例并将其写回。
可以在列上定义唯一索引,也可以使用索引列在表上定义唯一约束。
^{}
^{}
这些有助于防止重复发生。链接指向SQLite文档。
相关问题 更多 >
编程相关推荐