#! /usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2018/9/3 14:51
# @File : excel2mysql
# @Software: PyCharm
import pymysql
import xlrd
import datetime
start = datetime.datetime.now()
print(start)
#链接mysql
conn = pymysql.connect(host='localhost',user='root',passwd='12345',db='ss ',port=3306,charset='utf8')
cursor = conn.cursor()
#读取Excel
wb = xlrd.open_workbook('D:\\ex2\\car_total.xlsx')
sh = wb.sheet_by_index(0)
#标题:
title = sh.row_values(0)
extime = datetime.datetime.now()
print("读取表格:{}".format(extime - start))
#行数
nrows =sh.nrows
#列数
ncols = sh.ncols
#准备一个list,存放excel中的内容
df_1 = []
for i in range(nrows):
#不能包含表头
if i == 0:
continue
df_1.append(sh.row_values(i))
#创建表:不能直接放在循环里面是因为会重复创建表
cursor.execute("create table car_total ( " + title[0] + " varchar(100)) engine ='Innodb' charset ='utf8';" )
#为创建的表添加属性:
for i in range(1,ncols):
cursor.execute("alter table car_total add " + title[i] + " varchar(200);")
#创建插入的insert into table values后面的占位符
val = ''
for i in range(ncols):
val = val + '%s,'
try:
cursor.executemany("insert into car_total values(" + val[:-1] +" );",df_1)
except Exception as e:
print(e)
cursor.close()
conn.commit()
conn.close()
#print(sh.row_values(0))
end = datetime.datetime.now()
print("运行时间:{}".format((end-start)))
网友评论