python代码读写数据库

Python读写数据库 import sqlite3 connect = sqlite3.connect(r"sales.db") cur = connect.cursor() def find1(): print("*************显示某个输入的日期的当日数据****************") a = input("输入日期按年-月-日的格式 ") b= "'"+str(a)+"'" sql='select * from test where 日期= %s'%(b) p 阅读详情

前言:之前都是用pymysql读数据库,操作游标啊啥的,感觉挺不方便的。

下面介绍的读写方法需要先引3个包,pandas ,sqlalchemy ,pymysql ,pip install 引包出现问题的可看我的python基础环境建设篇

1.用pd.read_sql()读取数据

read_sql(sql,con,index_col=‘None’,coerce_float=‘True’,params=‘None’,parse_dates=‘None’,columns=‘None’,chunksize:None=‘None’)

read_sql方法是pandas中用来在数据库中执行指定的SQL语句查询或对指定的整张表进行查询,以DataFrame 的类型返回查询结果.

其中各参数意义如下:

sql:需要执行的sql语句 con:连接数据库所需的engine,用其他数据库连接的包建立,例如SQLalchemy和pymysql
index_col: 选择哪列作为index coerce_float:将数字形字符串转为float
parse_dates:将某列日期型字符串转换为datetime型数据 columns:选择想要保留的列
chunksize:每次输出多少行数据

样例代码:

import pandas as pd
import sqlalchemy

engine = sqlalchemy.create_engine('mysql+pymysql://root:******@192.168.0.***:3306/test')

sql='''
select * from weather_test where
create_time between '2020-09-21' and '2020-09-22'
and city in ('杭州','上海')
'''
df = pd.read_sql(sql,engine)
df

当然啦,引擎用到了pymysql,会调用pymysql的,python库里要有,没有就pip install下。
主要这种读的方式返回的结果是dataframe,方便后续操作数据。

如果sqlalchemy版本是高版本(如2.0.0),我本地python3.9默认装的2.0.16,需要用下面的写法,而python3.6(1.4.49)用上面的写法就行。

from sqlalchemy import create_engine, text
df = pd.read_sql(text(sql), engine.connect())

2.to_sql()批量写

to_sql()是pandas的一个函数,用来向数据库中批量插入数据,其中包含以下参数

DataFrame.to_sql(name,con,flavour = None,schema = None,
if_exists=‘fail’,index = True,index_label = None,chunksize = None,dtype = None)

需要用的参数有:

name:需要操作的表的名称
con:与数据库的连接器
if_exists:如果数据库中已经存在该表,则执行那些操作(1.fail:抛出错误,中断执行 2. replace 替换掉目前的表 3. append:向目前已存在的表中插入数据) 默认为fail
index:是否将DataFrame的索引列作为一列数据插入到数据库的表中.默认为True
index_label:索引列的列标签,默认为None chunksize:每次插入多少行数据,默认为None,一次性批量写入所有数据
dtype :字典格式,key是字段名称,value是字段对应的数据格式.可以在插入数据时指定每个字段的数据格式.默认为None

需要注意的是:

pandas官网说明了to_sql使用的连接器最好是SQLAlchemy建立的连接器
使用to_sql前,需要保证dataframe的列名和要导入的表的列名相等

样例代码:

import sqlalchemy 
import pandas as pd
conn =sqlalchemy.create_engine('mysql+pymysql://****:******@192.168.0.***:3306/test')
dataframe.to_sql('table_name',con=conn,index=False,if_exists='append')
python snap7 plc db_python 用Snap7读写西门子PLC中DB块 最近要开发基于TCP/IP协议的西门子S7系列PLC的通讯和数据采集,网上搜罗了一圈发现有python snap7还有HSL这两个工具,不过考虑到商用界限并且鉴于此次开发时间足够,就自己研究上手了,由于网上解决方案有限,查阅大部分资料只能查到读一些I/O/M之类的接口,DB块基本没有...无赖只好啃manual。基本上主要用snap7的read_area 、write_area两个方法就可以实现,... 阅读详情

相关推荐

Python基于Snap7与PLC建立连接并读写数据

Python通过snap7与PLC建立连接并读写数据,这里主要是以SIEMENS的PLC为例,通过Pycharm与TIA V17建立连接,对其DB块、M区、Q区、I区读写数据。

天生我才必有用 1万+

python数据库文件读写(超详解)

本文主要讲解文件的读取,写入,以及6种常见的模式和三大方法的区别。本文还有清晰的思维导图,读者能清晰的知道文章的知识脉络。

qq_72487381的博客 5930

Python实战:5分钟搞定LMDB数据库图片与标签的读写操作(附完整代码)

本文详细介绍了如何使用Python快速实现LMDB数据库对图片与标签的高效读写操作。通过实战代码演示,帮助开发者掌握LMDB在计算机视觉项目中的应用,解决大规模图像数据集管理的I/O瓶颈问题,提升数据加载效率。文章涵盖环境配置、数据写入、读取优化及高级技巧,适合机器学习开发者快速上手。

weixin_30369041的博客 405

利用Python简单操作MySQL数据库,轻松实现数据读写

PyMySQL是Python编程语言中的一个第三方模块,它可以让Python程序连接到MySQL数据库并进行数据操作。它的使用非常简单,只需要安装PyMySQL模块,然后按照一定的步骤连接到MySQL数据库即 可。本文将介绍PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据等基本操作。

2301_77709772的博客 1667

Python读写access数据库的实战代码

本文主要介绍了Python读写access数据库的实战代码,希望能对新手有所帮助。 文章目录 1. 背景简述 2. 环境配置 2.1 基本配置 2.2 安装Python库 3. 实战代码 3.1 读取代码 3.2 写入代码

weixin_43178406的博客 1万+

Python读写Access数据库文件的代码

以上就是使用pyodbc库在Python中读写Access数据库文件的基本代码示例。记得在实际使用时替换掉示例中的数据库文件路径、表名、列名和实际的查询语句或插入值。在Python中,我们可以使用第三方库pyodbc来读写Microsoft Access数据库文件(.mdb文件)。pyodbc是一个开源的Python库,提供了与各种数据库的连接和操作功能。方法的第二个参数中传入一个包含实际值的元组(value1, value2)。安装完成后,我们可以使用以下代码示例来读取和写入Access数据库文件。

Byte_O_O的博客 1192

python基础——读取、写入数据方法汇总(含内置方法、csv模块、openpyxl模块、pandas库、numpy库)

python基础——读取、写入数据方法汇总(含内置方法、csv模块、openpyxl模块、pandas库、numpy库)

sodaloveer的博客 2万+

我用 AI 做了个开源地图工具:从 OpenStreetMap 一键获取全国 AOI/POI 数据

本文介绍了一款免费开源的OSM数据查询与可视化工具,旨在解决Overpass QL语法晦涩、数据获取门槛高的问题。工具支持面数据(AOI)、点数据(POI)及路网三种查询模式,内置30+常用模板实现一键检索。具备高德与OSM双底图切换、坐标自动转换功能,支持GeoJSON、SHP、CSV多格式导出,同时保留自定义查询能力。作为纯HTML单文件应用,可零成本部署至GitHub Pages在线使用。该工具有效降低了地理数据获取难度,是替代商业地图API、高效提取全球开源地理信息的实用利器。

weixin_45812624的博客 585

Python数据存储读取,6千字搞定各种方法

今天的分享来满足这位读者的需求,想读“关于数据库sql或者MySQL的,就那种Python来处理数据库,比如Python爬虫爬到数据,然后封存到数据库里面,然后再从sql里面读取,进行分析可视化”。直接来:一行代码爬取微博热搜数据。

Python栈_基的博客 2047

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

5G NR切换测量事件解析:从A1到B2的实战应用指南

本文深入解析5G NR切换测量事件,从A1到B2的实战应用指南。详细介绍了系统内切换事件(A1-A6)和系统间切换事件(B1-B2)的触发条件与配置建议,帮助优化网络性能。通过实际案例分享,展示如何调整参数提升切换成功率和降低乒乓切换率,适用于5G网络优化工程师。

tcp8optimizer的博客 513

python 写入数据库加锁_用Python实现读写锁的示例代码

起步Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。简单的实现import threadingclass RWlock(object):def __init__(self):se...

weixin_39747568的博客 972

【国产MCU】-认识CH32V307及开发环境搭建

CH32V307是[沁恒](https://www.wch.cn/)推出的一款基于32位RISC-V设计的互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度。加入单精度浮点指令集,扩充堆栈区,具有更高的运算性能。扩展串口UART数量到8组,电机定时器到4组。提供USB2.0高速接口(480Mbps)并内置了PHY收发器,以太网MAC升级到千兆并集成了10M-PHY模块。

视觉与物联智能 2343

整理总结:Python代码基础 —— 基本类型、类定义、异常处理、文件读写和数据库操作

注:文章内容以图片的形式展示

木叶生_白菜叶子的博客 204

【Bluetooth|蓝牙开发】二、蓝牙开发入门

蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换,蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,使用IEEE802.11协议。

Donge's Blog 1万+

数据分析必问:Pandas面试题及参考答案

DataFrame是Pandas库中的一个核心数据结构,它类似于Excel中的表格,可以存储不同类型的数据。在Pandas中,抽样操作通常很简单,但是需要根据数据的特点和分析的需求来选择合适的抽样方法。数据标准化和归一化是数据预处理中常用的技术,目的是将数据调整到一个合适的范围内,以消除不同特征量纲和数值范围的差异,从而保证模型训练的有效性。CSV文件是一种文本文件,其中的数据以逗号分隔。不平衡数据集指的是数据集中各类别样本的数量差异较大的情况,这可能导致模型训练出现偏差,影响模型的泛化能力。

大模型大数据攻城狮的专栏 3008

Haproxy的配置及监控 HAProxy负载均衡双主mysql数据库及基于python代码层级的读写分离

100 stats realm hapadmin #统计页面密码框上提示文件,默认为haproxy\statistics。stats realm hapadmin #统计页面密码框上提示文件,默认为haproxy\statistics。99 stats admin if TRUE #如果认证通过就做管理功能,可以管理后端服务器。stats admin if TRUE #如果认证通过就做管理功能,可以管理后端服务器。# 查看文件名称和文件位置。

m0_74614835的博客 1264

PoE 的三大国际标准:PoE、PoE+、PoE++

很多人知道 PoE 能“一根网线,既供电又传数据”,但鲜少有人能说清楚:PoE 供电到底分几种标准?差别有多大?哪些设备要用 PoE,哪些必须上 PoE+ 或 PoE++?今天,我们就来一次彻底的“拆解”,把 PoE 的三大国际标准——讲得明明白白,顺便也帮你厘清网络工程中的常见“供电疑惑”。

网络技术联盟站 1549

【Python小技巧】使用sqlite的内存数据库提高股票行情数据读写(附代码)

SQLite 内存中数据库是完全存储在内存中(而不是磁盘上)的数据库。使用特殊数据源文件名 :memory: 可创建内存中数据库。连接关闭后,数据库会被删除。使用 :memory: 时,每个连接都会创建自己的数据库。今天我们介绍了如何在内存中使用sqlite数据库。其中以下分别为不同形式的数据库,有兴趣的可以自行测试,对比读写速度。db = os.path.dirname(os.path.abspath(__file__))+"\\sqlite_stock.db" # 本地文件数据库。

IT里的交易员-博客 1455

韩版传奇 2 源码分析与 Unity 重制(一)服务端 TCP 状态管理

该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。本文重点介绍了服务端的启动链路、网络初始化和连接处理这三个过程,并简要分析的游戏循环的实现与数据包处理,在下一篇文章中,我们会从客户端角度分析从游戏启动、登录、游戏开始和基础游戏交互的全流程。

东方猫的博客 2497

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python多进程读写数据库问题,Python:将多进程插入MySQL的代码有什么问题?

I've write a Python script to insert some data(300 millions) to a MySQL table:#!/usr/bin/pythonimport osimport MySQLdbfrom multiprocessing import Poolclass DB(object):def __init__(self):self.conn = My...

weixin_42522374的博客 199

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python多进程读写数据库问题_Python:将多进程插入MySQL的代码有什么问题?

I've write a Python script to insert some data(300 millions) to a MySQL table:#!/usr/bin/pythonimport osimport MySQLdbfrom multiprocessing import Poolclass DB(object):def __init__(self):self.conn = My...

weixin_39729840的博客 419

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python库: buildz

主要是配置文件读写和ioc,还有一些工具代码,用pip安装。

u012332001的博客 352

python数据库编程dbf_dbf文件怎么打开(python读写dbf数据库)

dbf文件如何打开(python读写能力dbf数据库查询)dbf数据库查询做为一种简易的数据库查询,以前普遍应用。现在在金融业行业還是有很多的运用之处,工作上碰到该类的难题,在这里纪录一下。1. 载入dbf'''载入DBF文档'''def readDbfFile(filename):table=dbfread.DBF(filename, encoding='GBK')for field in ta...

weixin_39844284的博客 612

如何用python-snap7快速连接S7 PLC?3行代码实现数据读写

python-snap7是一个纯Python编写的S7通信库,专为与西门子S7 PLC交互而设计。本文将介绍如何使用这个强大的工具,通过简单的代码实现与S7 PLC的快速连接和数据读写操作,帮助工业自动化开发者轻松构建高效的控制应用。 ## 一、python-snap7简介 python-snap7是一个轻量级但功能强大的开源库,它允许开发者通过Python语言与西门子S7系列PLC进行通信。

gitblog_00392的博客 852

python数据库sqlite3数据汇总_Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例...

本文实例讲述了Python实现读写sqlite3数据库并将统计数据写入Excel的方法。分享给大家供大家参考,具体如下:src = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.com\\test'# dst = sys.argv[2]dst = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.com\\test\\mha-041...

weixin_39924307的博客 253
上一篇: centos7.9 shell命令随记
下一篇: python基础环境建设(pip、anaconda)
keepandkeep
博客等级 码龄8年 380粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值