使用python把excel导入到MySQL
2018-10-19 本文已影响0人
星星曦馨
1、先看最下面建表语句,在看代码
1.1下载xlrd、pymysql(Python3+)
pip3 install xlrd
pip install pymysql
import xlrd
import pymysql
===========================
# 打开数据所在的路径表名
book = xlrd.open_workbook('test1.xls')
# 这个是表里的sheet名称(注意大小写)
sheet = book.sheet_by_name('Sheet')
# 建立一个 MySQL连接
conn = pymysql.connect(
host='localhost',
user='root',
passwd='123456',
db='test1',
port=3306,
charset='utf8'
)
# 获得游标
cur = conn.cursor()
# 创建插入sql语句
query = 'insert into test1(id,name,age)values(%s,%s,%s)'
# 创建一个for循环迭代读取xls文件每行数据的,
# 从第二行开始是要跳过标题行
# 括号里面1表示从第二行开始(计算机是从0开始数)
for r in range(1, sheet.nrows):
# (r, 0)表示第二行的0就是表里的A1:A1
id = sheet.cell(r, 0).value
name = sheet.cell(r, 1).value
age = sheet.cell(r, 2).value
values = (id, name, age)
# 执行sql语句
cur.execute(query, values)
# close关闭文档
cur.close()
# commit 提交
conn.commit()
# 关闭MySQL链接
conn.close()
# 显示导入多少列
columns = str(sheet.ncols)
# 显示导入多少行
rows = str(sheet.nrows)
print('导入'+columns+'列'+rows+'行数据到MySQL数据库!')
下面是MySQL建表语句(随便写的比较简单,建表语句不要写在代码里面,先建表):
create database test1 default charset utf8;
-- 建数据库
use test1; -- 切换数据库
-- 创建表
create table test1 (
id int,
name varchar(10),
age int,
primary key(id));
下面是效果图
select * from test1;
image.png
image.png