0


Python将Excel文件插入Mysql数据库(脚本)

目录

前言

最近接到一个需求,就是将多个Eccel文件(表头相同;每个都非常大,约60多万行,每个都是!!)先合并在一起,再做一些处理,但是Excel表格一个文件根本存不下这么多!更别提打开再做处理,怎么办?当然是借助Mysql啦,利用Python脚本将每一个文件内容插入进去,(其实也可以单个依次导入,但是有多个Excel文件,这样比较繁琐。更重要的是我会Python直接写个脚本)

图片展示

在这里插入图片描述

                                               **↓**

在这里插入图片描述

1、先创建数据库

在这里插入图片描述

2、目录结构展示

文件夹:数据源:用来存放Excel文件

在这里插入图片描述

3、奉上所有代码和注释

import os
import time
import pandas as pd
import pymysql

t1 = time.time()# 连接mysql
connect = pymysql.connect(host='localhost',# 本地数据库
                          user='root',# 用户名
                          password=自己的数据库连接密码,# 数据库密码
                          db=自己的数据库名称,# 数据库名称
                          port=3306,# 数据库端口号
                          charset='utf8')#服务器名,账户,密码,数据库名称
cur = connect.cursor()

sql2 ='truncate table 插入测试表;'# 每次插入前先清空表
cur.execute(sql2)#for f in os.listdir("./数据源/"):# 读取
    f_n ="./数据源/"+f
    df = pd.read_excel(f_n,sheet_name=0,keep_default_na="",dtype=str)
    data = df.values.tolist()for i in data:# print(i)'''
        num_cols = 10  # 假设有10个列
        placeholders = ','.join(['%s'] * num_cols)  # 自动生成10个 %s 占位符,用逗号分隔它们
        sql = f'insert into "CIAM结果表" values ({placeholders})'
        cur.execute(sql, row)
        下面的百分号可改写成这样的代码
        '''
        sql ='insert into 插入测试表 values (%s,%s,%s,%s);'# 切记,有多少个(列)表头,就有多少个 %s 占位符
        cur.execute(sql,tuple(i))print(f,"插入成功")
connect.commit()print("ok")# 关闭数据库
cur.close()# 关闭游标
connect.close()# 关闭数据库连接

t2 = time.time()print("数据插入结束,用时%.2f秒"%(t2-t1))

4、注意事项

4-1

数据库端口号我的是33061,一般来说是 3306

在这里插入图片描述

4-2

切记,有多少个(列)表头,就有多少个 %s 占位符

在这里插入图片描述

希望对大家有帮助

致力于办公自动化的小小程序员一枚

致力于写出清楚的博客

都看到这了,关注+点赞+收藏=不迷路!!

标签: python 数据库 excel

本文转载自: https://blog.csdn.net/weixin_42636075/article/details/128114791
版权归原作者 一晌小贪欢 所有, 如有侵权,请联系我们删除。

“Python将Excel文件插入Mysql数据库(脚本)”的评论:

还没有评论