将Excel文件导入mysql数据库

这篇博客详细介绍了如何将Excel数据导入MySQL数据库。首先创建数据库和表,然后在Windows系统中使用Python的pymysql、numpy、pandas和xlwings库读取Excel文件并执行插入操作。对于Linux系统,由于xlwings的限制,建议先在Windows下生成SQL语句,再在Linux环境下执行。整个过程涵盖了数据准备、连接数据库、读取单元格和数据插入等步骤。
摘要由CSDN通过智能技术生成

将Excel文件导入数据库

1. 创建所需数据库和表

create database hero;
use hero;
create table story(
	ename int,
	cname char(8),
	bg varchar(200),
	title char(8)
);
desc story;

image-20220819102247353

2. 将表导入数据库

2.1 windows系统

import pymysql
import numpy as np
import pandas as pd
import xlwings as xw

# 连接数据库
db = pymysql.connect(host='127.0.0.1', user='root', password='密码',dabase='数据库名')
conn = db.cursor()  # 获取指针以操作数据库

#1.建立excel表连接
wb = xw.Book('文件名')

#2.实例化工作表对象
sheet = wb.sheets["Sheet1"]


#3.读取单元格内容
for i in range(1,111):
    ename = sheet.range(('A'+str(i))).value
    cname = sheet.range(('B'+str(i))).value
    title = sheet.range(('C'+str(i))).value
    bg = sheet.range(('D'+str(i))).value
    sql = f'insert into story(ename,cname,bg,title) values ("{ename}","{cname}","{bg}","{title}")'
    conn.execute(sql)
    db.commit()

conn.close()
db.close()

2.2 Linux系统

经过尝试发现xlwings一般情况下在Linux系统无法运行,经查找解决方法也不容易,所以采用另外一种取巧的方法。

import xlwings as xw
#1.建立excel表连接
wb = xw.Book(r'C:\Users\17954\Desktop\heros.xlsx')

#2.实例化工作表对象
sheet = wb.sheets["Sheet1"]

text = ""
#3.读取单元格内容
for i in range(1,111):
    ename = sheet.range(('A'+str(i))).value
    cname = sheet.range(('B'+str(i))).value
    title = sheet.range(('C'+str(i))).value
    bg = sheet.range(('D'+str(i))).value
    
    text += "(" + str(int(ename)) +",'" + cname + "','" +bg+"','"+title +"'),\n"
print(text)

即先在Windows系统下获得需要的mysql代码格式,然后直接复制,粘贴到Linux系统下。

image-20220819115846768

#直接一次性多行插入
insert into story(ename,cname,bg,title) value
(),
(),
...
();

image-20220819115926420

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值