Python

使用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
上一篇下一篇

猜你喜欢

热点阅读