-
python用excel做数据库_【python】python vs Excel ( 与mysql数据库之间的交互)
2020-11-30 10:16:51那么python如何跟数据库之间做交互才是未来我们真正需要关心的。因为我们的数据最终还是要存储到数据库中去的。python与数据库之间的交互有很多。可以通过第三方包及API与不同的数据库之间做交互。我个人的环境资源...通过python与mysql数据库做交互
到目前为止大部分案例的演示数据都是基于文件进行读取的。那么python如何跟数据库之间做交互才是未来我们真正需要关心的。因为我们的数据最终还是要存储到数据库中去的。
python与数据库之间的交互有很多。可以通过第三方包及API与不同的数据库之间做交互。我个人的环境资源有限,因此这篇稿子是主要记录python是如何同mysql数据库之间进行交互的。
一,安装并配置mysql数据库
上述是我mysql数据库的章节,感兴趣的可以按照此步骤进行安装。这个是基于windows平台的安装。如果您装的是linux的话,可以yum install mysql 或者通过官网下载更新版本的mysql到本地安装。
友情提示:mysql数据库安装过后,windows的话要自行创建my.ini配置文件。里面的配置非常的重要如果配置项有问题,会导致mysql的services不能被正常启动。建议配置项一个个配置然后restart mysql的服务,能启动说明此配置项没问题。另外mysql配置完毕后默认很多权限及参数是OFF的。比如说自动load本地file到数据库默认就是不被打开的。所以要在my.ini中配置允许load本地文件才可以通过load data infile命令将本地文件传入mysql。具体我就不一一讲解了。遇到问题请问度娘。
我把我本人遇到的坑的解决方案链接提供在下方了。如果您也遇到了请尝试解决。
二,安装 Heidisql (免费的mysql图形化管理工具)
三,安装mysql依赖包
安装完mysql数据库后,对应的也要在python中安装对应的依赖包,如下。
import pymysql
from sqlalchemy import create_engine
如果你直接在python IDE中导入这两个包是肯定不存在的。如果您用的事pycharm的话可以尝试intall这两个包如果安装成功最好。如果不行请通过windows命令行中的pip来进行安装。
建议不管您用的是什么IDE都直接通过pip install依赖包。
pip install pymysql
pip install sqlalchemy
四,安装EditPlus 5 或者 EmEditor工具
标题这两个工具可以将我们Excel中导出的xlsx,csv, txt 等格式的数据做清洗用的。可以帮助我们更好的对数据进行规整,把规整过后的数据存入数据库。
EditPlus 5 安装及使用
EmEditor 安装及使用
五,python中操作mysql数据库案例演示
注释:首先如何使用mysql这里不作解释,如果有疑问请参照我mysql篇的章节。以下的所有演示都是基于数据库已经有数据,或者说有空表,如何用python对其进行增删改查访问等操作的演示。下面这个就是我用HeidiSQL打开的MySQL数据库。接下来我们进行的所有操作都围绕all_students这章表来进行。
1. 通过python打开mysql中的all_students这章表
注意:代码依然是基于jupyther来运行的。如果您用的是.py的文件打印请都用print()来运行。
#%%
import pandas as pd
import pymysql
from sqlalchemy import create_engine
#链接mysql数据库(指定到database名)
con = create_engine("mysql+pymysql://root:root@localhost/liupeng")
#链接到具体的table
read_sql01 = pd.read_sql('all_students',con)
read_sql01.head(10) #读取数据表内容(10行)
2. 按照指定的表头来读取mysql数据
#按照指定的表头来读取数据
read_sql02 = pd.read_sql('all_students',con,columns=["cls_id","exam_nu","stu_name","gender","total"])
read_sql02.head(3)
3. 按照mysql语句对数据进行筛选
#%%
#通过reqd_sql(sql语句)的方式读取部分数据
read_sql03 = pd.read_sql('select cls_id,stu_name,total from liupeng.all_students where cls_id < 3 order by total',con=con)
read_sql03
4. 向mysql数据表添加一条数据(增)
注释:对于mysql中的增删改所用到的命令都是con.execute函数!!!
数据插入前:
#执行sql的增删改操作用.execute("sql语句")的函数
#追加一条sql语句到mysql数据库
con.execute("insert into liupeng.all_students values ('1','刘景芮',100,100,98,298,'女',2018746)")
数据插入后:
5. 向mysql数据表修改一条数据(改)
注意:这里我查的是exam_nu=2018746,因为查名字已经变成关羽了。所以用唯一的id号来进行查询
con.execute("update liupeng.all_students set stu_name='关羽' where exam_nu=2018746 ")
6. 向mysql数据库删除一条数据(删)
注意:条目被删除后无论你指向stu_name还是exam_nu,返回结果都是0,因为数据本身已经被删除。
7. 如何将本地数据添加到MySQL数据表中
强调:如果您的Mysql数据库的my.ini没有做以下的配置建议把配置写到my.ini中。如果您只是临时使用一下,请按照我的方法运行。不然MySQL不支持本地文件的加载。
例如我们把以下一个txt文本导入到mysql数据库中
1魏薇735954186女2018010
1朱瑞麒596034153女2018012
1黄慧婕738184238女2018027
1张章605548163男2018094
1沈政宇517127149男2018108
1宋承泽687453195男2018113
1马彦冰777252201女2018148
1马恺618372216男2018166
1王锦程809683259男2018167
1闫瑾746464202女2018196
1王晓渝45122885女2018198
1王浩然798669234女2018246
1徐菁549060204女2018256
创建MySQL对应的表格,我个人比较懒,因此我直接通过like命令复制了all_students的表结构来创建的stu_test表。
创建过后的结构是这样的。。其中没有任何的内容只有结构!!
导入数据到mysql中的stu_test表中。对于数据的导入可以直接通过图形化界面来做。也可以通过命令行来做。
这里为了省事,我直接在底层的mysql数据库通过load data infile的方法把数据追加到stu_test表格中了。
当然如果您想通过python中的语句来将数据导入mysql数据库中也是可以的。在此我奉上以下链接希望对大家有所帮助。
-
用Excel做数据库开发的小程序例子C#
2007-08-10 14:25:21如果想给别人做一个小软件用,但是又不想用SQLServer 或Access数据库,那么选择Excel就是最好的选择了.这代码会告诉你如何像连SQL Server 或是Access那样连Excel. -
如何用Java将excel数据导入数据库
2021-01-20 03:43:40近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。 我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不值得借鉴。项目中关于解析excel数据的... -
使用java技术将excel表格内容导入mysql数据库_如何用Java将excel数据导入数据库
2021-01-30 17:04:53最近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。 我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不得借鉴。 这是已经成功插入数据化数据库...最近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。 我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不得借鉴。 这是已经成功插入数据化数据库中数据的记录,我新建的表为db. 这是在控制
最近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。
我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不值得借鉴。
这是已经成功插入数据化数据库中数据的记录,我新建的表为db. 这是在控制台的数据输入喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+uty24MqxuvLGtL3T19a3+7Suyse63Lbgz+7Ev7HY0OvX9rXEo6y4w7T6wuvW0M7SxrS908HLsrvJ2XNxbNPvvuSjrNKy0O3T0Lj8vPK1pbXEt73KvaOstavKx87Sz9bU2ta7xNzP67W91eLSu7K9oaM8L3A+CjxwcmUgY2xhc3M9"brush:sql;">/**将execl数据导入数据库
* @author trsli
* */
public class CreateDBTable {
private static Connection conn;
private static String sql="";
private static StringBuffer buf=new StringBuffer();
static{
conn=DBConnection.getConnection();
}
public static void main(String[] args) {
//数据.xls文件路径
System.out.println("输入文件路径:");
String filename=new Scanner(System.in).nextLine();
//获取需要插入数据库的数据内容
Object[][] contents=new PoiUtil().getmessage(filename);
//获取数据库创建表格的字段名
Object[] titles=new PoiUtil().gettitles(filename);
System.out.println("输入数表格名:");
String fname=new Scanner(System.in).nextLine();
try {
String ziduan="";
String blank="";
PreparedStatement stmt=conn.prepareStatement(sql);
buf.append("create table "+fname+"( id int primary key auto_increment");
//拼接字符串,主要是为了完全实现动态创建数据表格以及后期插入数据
for(int i=0;i整个代码很简单,可以从中提取出需要的方法,用于其它需要的地方。
这是数据库中数据的显示。 以下是原数据:
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
-
pd 写入数据库_如何用python读取Excel文件并写入数据库
2020-12-30 19:25:23可以这样操作:先用pandas读取Excel表格,将表格内容转化成一个dataframe数据,然后将这个df数据整体写入数据库。我在处理这个问题的时候,一开始没有弄清楚,需不需要先在数据库里建好表,甚至建好字段。后来验证的...假设我现在有一个很大的Excel表格,想整体作为一张表写入数据库,方便以后处理。可以这样操作:
先用pandas读取Excel表格,将表格内容转化成一个dataframe数据,然后将这个df数据整体写入数据库。
我在处理这个问题的时候,一开始没有弄清楚,需不需要先在数据库里建好表,甚至建好字段。后来验证的结果是,如果用SQLAlchemy这个库来做的话,是不需要的。
这实际上是用到了ORM(Object Relational Mapping, 对象关系映射)技术,可以将dataframe数据映射成数据表,也可以将数据表映射成dataframe数据。
读取Excel表格数据
我的Excel文件路径是D:\PythonDemo\wallet\wallet.xlsx,这是我平时用的记账APP导出的文件。
import pandas as pd
excelFile = r'D:\PythonDemo\wallet\wallet.xlsx'
df = pd.DataFrame(pd.read_excel(excelFile))
首先,将文件路径存到excelFile变量,使用pd.read_excel()函数来读取这个Excel数据,然后用pd.DataFrame()函数转化成dataframe数据类型赋值给df变量。
至此,我们已经获得了一个和Excel表格结构相同的dataframe数据,接下来就是将它写入到数据库中。
写入数据库
数据库连接需要用到pymysql库,网上也有不少说到用mysqldb这个库,实测python3并不好用,所以还是推荐用pymysql。另一个sqlalchemy库是用来将dataframe数据与数据表进行互相转化映射的。
from sqlalchemy import create_engine
import pymysql
engine =create_engine('mysql+pymysql://root:''@localhost:3306/mydata',encoding='utf8')
df.to_sql('wallet',con=engine,if_exists='replace',index=False)
我们使用create_engine()函数连接数据库。
这里,mysql是你用的数据库,pymysql是你用的连接数据库的库,root对应数据库用户名,root冒号后面写数据库的密码,我的MySQL数据库在本地,所以密码为空。@符合后面写数据库地址,本地是localhost,3306是端口,mydata是数据库名。虽然不需要提前建好数据表,但是数据库还是得准备好。
然后调用df.to_sql()函数将dataframe数据写入:
df.to_sql('wallet',con=engine,if_exists='replace',index=False)
第一个参数是你希望新建的表的名字,第二个con=后面接前面一句的engine对象,后面的参数表示如果已经存在就进行替换。
执行,然后用navicat连接数据库看一下,果然成功了:
微信截图_20181116144232.png
-
如何将excel表导入mysql数据库
2020-12-03 20:44:29如何将excel表导入mysql数据库 文章目录如何将excel表导入mysql数据库建表数据库 建表 所需数据库的表的字段必须在excel表中存在; 另存为csv, csv默认为逗号制表符 点击是 然后用记事本打开另存为utf-8编码格式...如何将excel表导入mysql数据库
建表
所需数据库的表的字段必须在excel表中存在;
另存为csv, csv默认为逗号制表符
点击是
然后用记事本打开另存为utf-8编码格式,做这一步之前最好先把要修改的都修改好,否则当保存为utf-8编码格式之后,再修改然后直接保存会导致编码格式退回原来的编码格式;
否则导入的时候
注意列名不能有中文,列名必须是英语*
否则同样会出现
可能数据库需要先读取判断前面的字段;数据库
登录mysql workbench创建数据库并建表
然后导入
选择对应的csv文件
source Colum是excel表中的属性,DestColumn是数据库表中的属性,对好相应的值之后一直next;
然后就导入成功了。
-
excel 区间人数柱状图_如何用 Excel 做数据分析?
2021-01-02 08:19:40在上期《分享两个用Excel处理数据的神技巧》中,我们重点讲了 vlookup 函数和透视表功能,今天再来给大家介绍几个非常实用的技能。数据分析一般通过 SQL 在数据库中提取数据,保存到本地 Excel,所以 Excel 是最基础... -
vba删除mysql表_如何在EXCEL中删除数据库记录
2021-02-11 14:10:16我的意思是如果我做一个窗体界面的话,可以添加一个删除按钮,当选中某一条记录的时候,单击删除按钮可以调用ADO或者用SQL删除掉数据库中的记录,但是我现在的数据显示界面是EXCEL界面,在EXCEL中提供了删除一行的... -
如何将excel导入到oracle数据库中
2013-09-28 10:34:22将google earth上面的数据保存成kml格式,看了一下就是xml文件,里面有包含经纬度的信息,用excel可以提取其中的经纬度节点的信息,用excel提取之后怎么将其导入到数据中对应字段中呢?具体方法如下: 转自:... -
wps怎么导入access_mysql数据库中的表格数据如何导入wps中的excel,请问该怎么去做 | excel连接access...
2020-12-19 02:29:44导据不一定要用OPENSET函数以用更简单的方法,步骤如下:1、双击打sqlserver,右击需要导入数据的数据库,如图所示。2、点击任务,再点击任务中的导入数据选项,打开导入导出数据向导界面。3、在向导界面点击下一步... -
sql 如何更新excel数据_如何用SQL做数据分析
2020-12-09 09:42:47数据分析第一步,一定是先从数据库提取数据做基本的描述统计分析,整体查看做到心中有数,而80%的描述统计需要用SQL尝试取数后,或放到Excel或其他Tableau等工具,待基本了解数据整体现状之后,才会上模型上算法,去... -
如何把excel数据导入到mysql数据库中
2012-09-06 10:13:38最近做的工作涉及到把excel数据导入到mysql数据库中, 看来一些mysqlimport, phpmyadmin命令, 但是不怎么会用. 就决定自己写脚本解决. 先把excel数据文件保存成csv格式的文件, 然后写了下面的简单perl脚本倒入... -
服务器如何用MS SQL Server 2005 Express做数据库
2017-06-02 16:49:12因此,在安装Excel服务器时,会产生错误。可采用以下方式来修改验证方式和sa的口令: 一、修改验证方式 勤哲Excel服务器仅支持混合验证方式。 1.?点击“开始”-“运行”,输入regedit,回车: 点击“确定” 2.找 -
如何将excel文件动态导入到ORACLE数据库中
2016-08-18 13:41:16我知道解析excel可以用poi,上传可以用fileupload,但这是我从网上查资料知道的,我没有实际做过什么项目,所以就算知道要用什么方法,逻辑也整理不出来,所以请懂这方面的大神帮帮忙,求源码。谢谢 -
python自动数据库_技术如何用Python自动操作数据库
2021-02-11 00:33:09林骥 来源:林骥Oneoldwatch,likebrief python我在使用 Python 之前,做数据分析工作的流程,一般是先打开数据库客户端,然后运行一段写好的 SQL 语句,把数据查询出来,然后再把数据复制到 Excel 中并制作报表。... -
如何将Excel数据批量导入SQL数据库
2009-07-13 08:53:00很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,System.Data.SqlClient.SqlBulkCopy 对于新手来说还是比较陌生的,这个就是传说中效率极高的bcp,6万多数据从excel导入到sql只需要4.5秒。Code:using ... -
如何将数据库中的数据导成 excel 文件
2020-06-28 09:15:38这个要看下具体格式,如果只是将数据库中的明细数据逐条导出到 excel 中的话,这个直接使用开源的 poi 就行,具体可以直接百度下,但是这种实际上没多大意义,大多数的需求是要求按照特定的格式导出,比如订单信息表... -
如何用C#做像EXCEL样式的考勤表
2018-04-04 03:47:04![图片说明]...姓名根据标题中的部门从数据库中读取,OK 序号自动排列 如何根据标题中的年、月字段自动显示日期、星期,以及各日期列对应的出勤状态如何实现 -
C#如何把百万级的excel数据导入到sqlserver数据库中去
2020-06-19 11:02:37想来大家都有这样的生活常识,一个正常人一顿能吃三个...所以我们一般的做法是把百万级的数据导入到数据库中去,然后用数据库做处理。可是现在问题来了,我们如何把几百万条数据直接导入到数据库里面去? 常规的Excel -
excel导入mysql并批量查询_Excel导入MySql数据库批量操作
2021-02-03 23:36:16今天在做一个将excel数据导入数据库的程序时,由于数据量大,准备采用jdbc的批量插入。于是用了preparedStatement.addBatch();当加入1w条数据时,再执行插入操作,preparedStatement.executeBatch()。我原以为这样会... -
别人都在用数据分析软件,你还在用excel做数据分析?
2020-12-29 19:01:17之前听朋友吐槽过,他们是上千人的企业,但做数据分析居然还是靠手动上传数据,而且还是用的excel做的。...既然说到Excel做数据分析,那就先看看excel是如何分析数据的 一般接触信息化和数据库系统,过程中需要帮 -
在数据库或excel中存在两列数据,如何自动实现生成图形化
2014-11-30 13:36:12在数据库或excel中存在两列数据,比如a对应b,a对应c,b对应c。自动实现生成图形化,用方框和箭头表示,数据不重复。应该怎么做呀
-
STM32F030F4P6核心板pdf原理图+ ALTIUM pcb布局+器件封装库文件库.zip
-
Linux基础入门系列课程
-
stable_windows_10_cmake_Release_x64_graphviz-install-2.46.1-win64.exe
-
libFuzzer视频教程
-
【硬核】一线Python程序员实战经验分享(1)
-
1.Windows、Linux启动流程
-
ARKit-CoreLocation:将AR的高精度与GPS数据的规模相结合-源码
-
物联网基础篇:快速玩转MQTT
-
Xcode中使用unity3D生成项目(Easy Movie Texture)运行出现的问题
-
朱老师c++课程第3部分-3.5STL的其他容器讲解
-
MySQL 高可用(DRBD + heartbeat)
-
程序员必修基础套餐课
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
每日算法-平衡二叉树
-
项目管理工具与方法
-
记一次debug的坑,idea正常可以启动,debug模式启动不了
-
Unity ILRuntime框架设计
-
用微服务spring cloud架构打造物联网云平台
-
SecureCRT 连接 GNS3/Linux 的安全精密工具
-
自动化测试Python3+Selenium3+Unittest