当前位置: 首页 > news >正文

Pandas_sqlite

在Pandas中使用SQLite数据库进行数据操作是一个常见的任务,尤其是在数据分析和数据科学领域。以下是一个简单的示例,展示如何在Pandas中使用SQLite数据库进行数据的读取、写入和查询。

步骤 1: 安装必要的库

首先,确保你已经安装了Pandas和SQLite的库。如果没有安装,可以通过以下命令安装:

pip install pandas sqlite3

步骤 2: 创建SQLite数据库和表

在这个例子中,我们将创建一个简单的SQLite数据库,并在其中创建一个表。

import sqlite3
import pandas as pd# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建一个数据库文件
conn = sqlite3.connect('example.db')# 创建一个cursor对象
cursor = conn.cursor()# 创建一个表
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (id INTEGER PRIMARY KEY,name TEXT NOT NULL,salary REAL
)
''')# 提交事务
conn.commit()# 关闭连接
conn.close()

步骤 3: 向表中插入数据

我们可以使用Pandas的DataFrame来插入数据。

# 创建一个DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie'],'salary': [50000, 60000, 65000]
}
df = pd.DataFrame(data)# 再次连接数据库
conn = sqlite3.connect('example.db')# 将数据插入到SQLite表中
df.to_sql('employees', conn, if_exists='append', index=False)# 提交事务
conn.commit()# 关闭连接
conn.close()

步骤 4: 从表中读取数据

现在,我们可以从SQLite表中读取数据到Pandas DataFrame。

# 连接数据库
conn = sqlite3.connect('example.db')# 从SQLite表中读取数据
df = pd.read_sql_query("SELECT * FROM employees", conn)# 显示DataFrame
print(df)# 关闭连接
conn.close()

步骤 5: 更新和删除数据

你还可以更新或删除表中的数据。

# 连接数据库
conn = sqlite3.connect('example.db')# 更新数据
cursor = conn.cursor()
cursor.execute("UPDATE employees SET salary = 55000 WHERE name = 'Alice'")
conn.commit()# 删除数据
cursor.execute("DELETE FROM employees WHERE name = 'Charlie'")
conn.commit()# 再次读取数据查看更新结果
df = pd.read_sql_query("SELECT * FROM employees", conn)
print(df)# 关闭连接
conn.close()

这个例子展示了如何在Pandas中使用SQLite进行基本的数据库操作,包括创建表、插入数据、读取数据、更新和删除数据。这些操作是数据分析和数据科学项目中常见的任务。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何避免 Redis 哈希冲突?
  • Anaconda 安装与使用教程
  • [Web安全 网络安全]-XSS跨脚本攻击
  • 算法:TopK问题
  • “药乡”怀化,按下产业向海“加速键”
  • 95-java synchronized和reentrantlock区别
  • 前后端分离项目--下载功能
  • 基于高通主板的ARM架构服务器
  • 【自然语言处理】实验三:新冠病毒的FAQ问答系统
  • Golang | Leetcode Golang题解之第406题根据身高重建队列
  • linux服务器配置及服务器资源命令使用查看
  • 【鸿蒙应用】总结一下ArkUI
  • 力扣题解2848
  • 【C语言】分支和循环(下)
  • C语言指针和数组梳理
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android单元测试 - 几个重要问题
  • Android组件 - 收藏集 - 掘金
  • java第三方包学习之lombok
  • Java方法详解
  • JS 面试题总结
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • node.js
  • PAT A1050
  • PhantomJS 安装
  • PHP面试之三:MySQL数据库
  • Python语法速览与机器学习开发环境搭建
  • Vue ES6 Jade Scss Webpack Gulp
  • Zsh 开发指南(第十四篇 文件读写)
  • 搭建gitbook 和 访问权限认证
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 基于游标的分页接口实现
  • 记一次删除Git记录中的大文件的过程
  • 技术发展面试
  • 使用putty远程连接linux
  • 线上 python http server profile 实践
  • 小程序01:wepy框架整合iview webapp UI
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​低代码平台的核心价值与优势
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #stm32驱动外设模块总结w5500模块
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (2)nginx 安装、启停
  • (27)4.8 习题课
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十三)Maven插件解析运行机制
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)基于IDEA的JAVA基础1
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (正则)提取页面里的img标签
  • (转)真正的中国天气api接口xml,json(求加精) ...