栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python搭配sqlite,轻松搞定本地数据管理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python搭配sqlite,轻松搞定本地数据管理

假设我们有个项目,每天计算统计结果,那么我们应该怎么存储这些数据呢?直接按天写到一个数据文件(txt,csv,xlsx,pickle)里面?
但是如果我们需要对历史数据进行一些对比分析,趋势分析这么办?直接把数据读进去又做一层统计吗?
这样虽然问题不大,但是我们打螺丝,虽然不一定找到最好的方法,但是总会有一种更好的办法,这里使用把每天统计到的数据存储在sqlite中,这样就可以很方便的用SQL提取任意口径的数据了。我们先了解下sqlite在python中的基本用法。

常规用法 创建数据库
  1. 在对应的项目目录下,直接创建.db后缀的文件

  2. python创建:数据库文件是users.db,如果文件不存在,会自动在当前目录创建

    import sqlite3
    conn = sqlite3.connect('users.db')
    
增删改查
  • 建表

    cursor = conn.cursor()
    cursor.execute('create table users (id varchar(20) primary key, name varchar(20))')
    
  • 插入一条记录

    cursor.execute("insert into users (id, name) values ('1', 'one')")
    
  • 批量插入

      data = [('2', 'two'), ('3','three'),('4', 'four')]
      cursor.executemany('insert into users (id, name) VALUES (?,?)', data)
    
  • 修改

    cursor.execute("update users set name='first' where id='1'")
    
  • 删除

    cursor.execute("delete from users where id = '1'")
    
  • 提交事务、关闭游标、关闭连接

    conn.commit()
    cursor.close()
    conn.close()
    
结合pandas使用,更加简洁方便
  • 连接数据库

    conn = sqlite3.connect('users.db')
    
  • 直接读取数据

    data = pd.read_sql('select * from users', conn)
    
  • 直接写入数据

    # df为pandas的dataframe对象数据
    df.to_sql(name='users', con=conn, if_exists='replace',index = False)
    

建议我们平时直接使用pandas读和写sqlite数据库,只需几行就可实现数据的读写操作。

后记

本项目使用sqlite的优势:

  • 不需要像其他数据库,如mysql、pgsql那样要完成各种部署才能使用;
  • 方便本地项目的迁移:直接复制整个项目文件(包含.db文件),数据库也轻松带走。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994190.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号