今天分享一下关于利用python脚本将excel表格中的数据导入mysql数据库 环境准备: 1、一个mysql数据库 2、python 思路: 1、首先思考总体目的就是将表格中的数据导入mysql。怎么导入?方法有很多,这里我利用Python编写导入脚本,这里面需要用到Python中操控excel以及mysql相关的模块,至于具体什么模块,由于python强大的模块库,会有好几个模块能达到这种目的。我这里使用python中的pandas模块、以及pymysql模块、sqlchemy模块 2、有了这些模块具体什么流程呢,就是读取excel中的数据,然后连接数据库,写入数据库 开始: 首先,在import pandas以及pymsql的时候,确保已经安装了这个模块,没有的话就pip install一下 什么?Pip都没装,如果你是python3.*版本的话,是自带的,估计没有设置好环境变量,windows直接在系统属性里设置环境变量(高级系统设置) 为啥这么设置,因为pip这个应用就在这个目录下 安装完就开始编写脚本,我这边编辑器用的vscode 一个是连接数据库后,读取表格 然后再写入 这个if_exists参数,有三个模式,默认是fail,目标存在就失败,append就是追加数据,replace就是代替,原来的表删除重新插入 这样的话,基本就可以吧excel中的数据插入mysql数据库,简单吧。 再说说pandas.read_sql,具体详细参数可以看一下pandas的官方文档。 DataFrame.to_sql(name, con, schema=None, if_exists='fail', index=True, index_label=None, chunksize=None, dtype=None, method=None) 这是to_sql的语法: engine = create_engine('mysql+pymysql://user:password@localhost/stonetest?charset=utf8')df = pd.read_sql('cillian', engine)df.to_sql('cillian2', engine) pymysql是用来连接mysql服务器的一个模块 import pymysql db = pymysql.connect(host='localhost', user='testuser', password='test123', database='TESTDB') 连接数据库 关闭数据库连接 db.close() 详细的增删改查就要自己去多试试了, 还有如果读取csv文件,自带列标题,但是自己又想换成别的标题怎么办 就像下面一样,多加一个df.colums,可以自定义列标题了 df_example = pd.read_csv('Pandas_example_read.csv') 遇到的问题 Excel file format cannot be determined, you must specify an engine manually. 有时候会出现这样的错误,提示无法确定格式,必须指明,我当时写的是read_excel 变换成read_csv就好了 总结: 总之python有那么多模块,很多虽然是英文,但好歹是有翻译的,都可以多研究下,办法总比困难多!加油! |
|
来自: gaolidabangzi > 《excel》