分享

python怎么将excel表格导入数据库

 gaolidabangzi 2022-02-24

今天分享一下关于利用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')
df_example.columns = ['A','B','C']

遇到的问题

Excel file format cannot be determined, you must specify an engine manually.

有时候会出现这样的错误,提示无法确定格式,必须指明,我当时写的是read_excel

变换成read_csv就好了

总结:

总之python有那么多模块,很多虽然是英文,但好歹是有翻译的,都可以多研究下,办法总比困难多!加油!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多