环境:python2.7
python
在处理微信朋友圈数据的过程当中,须要对sqlite进行一些处理,只处理增量数据。已经处理过的,再也不处理。sql
在sqlite中有64位的 ROWID,ROWID默认是自增的。咱们用这个特性,来处理咱们的增量数据。微信
建立一个sqlite记录数据python2.7
# coding=utf-8 import sqlite3 conn0 = sqlite3.connect('local_info.db') # 获取表名列表 tables = conn0.execute("SELECT tbl_name FROM sqlite_master WHERE type='table'") # 若是表不存在,则建立表 if ('device_rowid_table',) not in list(tables): conn0.execute('''CREATE TABLE device_rowid_table ( # 设备列表 device CHAR(20) NOT NULL, # 此前处理过的最大rowid max_rowid INT NOT NULL ); ''') # 插入一条数据:假设,咱们已经处理了3fa5684f7d53设备中的前10条数据 conn0.execute('INSERT INTO device_rowid_table (device, max_rowid) VALUES ("3fa5684f7d53", 40)') conn0.commit() device_id = '3fa5684f7d53' max_rowid = 0 for device, rowid in conn0.execute('select * from device_rowid_table'): if device==device_id: max_rowid = rowid print max_rowid conn1 = sqlite3.connect('3fa5684f7d53_1479459121.18.db') row_num = conn1.execute('select count(*) from SnsInfo') print list(row_num) conn1.execute('DELETE FROM SnsInfo WHERE ROWID<{}'.format(max_rowid)) conn1.commit() row_num = conn1.execute('select count(*) from SnsInfo') print list(row_num)