使用python将Excel中的数据导入到Mysql中
1.使用sqlalchemy模块,直接将整个Excel表格导入到Mysql中,简单粗暴,代码如下:
from sqlalchemy import create_engine
#将Excel表格中的数据放到MySQL中
path = r'G:\数据集\记录信息(10月).xls'
data=pd.read_excel(path)
#这里是对data.columns进行处理
list = data.columns
new_list = []
for x in list:
new_list.append(''.join(x.split()))
data.columns=new_list
# create_engine就是去建立连接,相当于我们pymsql建立连接的时候 conn= pymysql.connect(...)
# conn = create_engine(
# "mysql+pymysql://root:123abc@localhost:3306/数据库名?charset=utf8mb4",
# max_overflow=0, # 超过连接池大小外最多创建的连接数
# pool_size=5, # 连接池大小
# pool_timeout=30, # 连接池中没有线程最多等待时间,否则报错
# pool_recycle=-1, # 多久之后对连接池中的连接进行回收(重置)-1不回收
# )
engine = create_engine('mysql+pymysql://root:root@localhost:3306/database?charset=utf8')
#if_exists三个模式:fail,若表存在,则不输出;replace:若表存在,覆盖原来表里的数据;append:若表存在,将数据写到原表的后面。默认为fail
sql_chengfen = data.to_sql(name='jilvinform_10', con=engine, index=False,if_exists='replace')
2.第二种方法是利用pymysql模块,代码如下,其中函数ExcelToMysql是导入,函数readTable(cursor)是导出展示。
import pymysql
import pandas as pd
from openpyxl.reader.excel import load_workbook
import xlrd
path = r'E:\desktop\数据.xlsx'
def ExcelToMysql(cur, path):
num = 1
# 读取excel文件
workbook = load_workbook(path)
# 获得所有工作表的名字
sheets = workbook.get_sheet_names()
# 获得第一张表
worksheet = workbook.get_sheet_by_name(sheets