资讯专栏INFORMATION COLUMN

python下的sqlite使用

ixlei / 1824人阅读

摘要:环境在处理微信朋友圈数据的过程中,需要对进行一些处理,只处理增量数据。已经处理过的,不再处理。使用在中有位的,默认是自增的。

环境:python2.7

在处理微信朋友圈数据的过程中,需要对sqlite进行一些处理,只处理增量数据。已经处理过的,不再处理。

使用rowid

在sqlite中有64位的 ROWID,ROWID默认是自增的。我们用这个特性,来处理我们的增量数据。

记录上次ROWID

创建一个sqlite记录数据

# 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)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44289.html

相关文章

  • python操作SQLite数据库和文件操作

    摘要:最近遇到一个需求,就是要把数据中没有存储的文件名的文件删除掉,想来想去还是决定用。所以也就花了一天半的时间学习了下,随手写了个小例子。 最近遇到一个需求,就是要把SQLite数据中没有存储的文件名的文件删除掉,想来想去还是决定用python。所以也就花了一天半的时间学习了下,随手写了个小例子。直接上代码 要用到的头文件包 #coding=utf-8 #!/usr/bin/python ...

    TIGERB 评论0 收藏0
  • python操作SQLite数据库和文件操作

    摘要:最近遇到一个需求,就是要把数据中没有存储的文件名的文件删除掉,想来想去还是决定用。所以也就花了一天半的时间学习了下,随手写了个小例子。 最近遇到一个需求,就是要把SQLite数据中没有存储的文件名的文件删除掉,想来想去还是决定用python。所以也就花了一天半的时间学习了下,随手写了个小例子。直接上代码 要用到的头文件包 #coding=utf-8 #!/usr/bin/python ...

    dingda 评论0 收藏0
  • Django2.2图文教程

    摘要:事实上,社区成员给了他一个荣誉称号终生仁慈独裁者。说明图片来源百度。安装终端下或是在里面,命令相同。同步数据库在终端中执行此命令执行完成后,会在下生产记录变动的记录。此时数据库并未变动,然后执行这样的变动,立即同步到数据库中。 原文链接 1.准备工作 开发环境: python: 3.7.3 下载地址:https://www.python.org/downlo... pip: pip...

    roundstones 评论0 收藏0
  • [译]如何使用Flask开发一个增删改查的应用(part2)

    摘要:获取成为开发专家的技巧。我们可以在两个文本框输入笔记的标题和内容。在本教程中,我们将使用一个名为的工具。它是一个火狐浏览器的扩展,我们可以使用它管理数据库。安装,打开火狐浏览器,点击,然后点找到的文件夹图标并点击它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程译文首发...

    adam1q84 评论0 收藏0
  • 利用Django开发个小型商城(一)

    摘要:利用开发个小型商城我们本期的教程是教大家如何利用开发一个小型的商城这里所说的小型商城只是功能上的简朴。并于年月在许可证下发布。这套框架是以比利时的吉普赛爵士吉他手来命名的。是重量级选手中最有代表性的一位。 利用Django开发个小型商城 我们本期的教程是教大家如何利用Django开发一个小型的商城,这里所说的小型商城只是功能上的简朴。 作者:黄志成(小黄) 作者博客:博客地址 前提 1...

    RobinTang 评论0 收藏0

发表评论

0条评论

ixlei

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<