#excle文件导入数据库
#前置条件安装pymysql、xlrd==1.2.0;
#1、导入import pymysql,xlrd
#2、打开excel表
excel=xlrd.open_workbook(r'C:\Users\Administrator\Desktop\accont.xlsx'')
#2、查看文件所有表、获取excel的表
account =excel.sheet_names()
table = excel.sheet_by_names('Sheet1')
#4、获取table的行列
nrow = table.nrows
ncol = table.ncols
print(nrow,ncol)#56 3
#5、查看表格数据
print(table.cell_value(0,0))#序号
print(table.cell_value(0,1))#学员姓名
print(table.cell_value(0,2))#学号
#6、打开数据库
db = pymysql.connect(host='192.168.30.67',user='root',password ='123456',database='student5')
#7、获取游标,创建表
cursor =db.cursor()
cursor.execute('drop table if exists accounts;')
mysql ='''
create table accounts (
id varchar(10),
name varchar(10),
account varchar(10));
'''
cursor.execute(mysql)
#8、遍历表格,并写入sql语句
data =[]#空列表,用来存储获取的表格数据
for i in range(nrow):#外层遍历行
for j in range(ncol):#内层遍历列
data.append(table.cell_value(i,j))#将获取的数据存入列表
print(data,data[0],data[1],data[2]) #['序号', '学员姓名', '学号'] 序号 学员姓名 学号 ,获取的是不带符号的字符串。
mysql=f"insert into accounts values('{data[0]}','{data[1]}','{data[2]}');"#格式化输出,其中data中的数据是不带字符串的数据,如果写入sql语句是不带引号一直是错误的,
print(mysql)#正确格式insert into accounts values('序号','学员姓名','学号');
cursor.execute(mysql)#执行sql语句
db.commit()#提交到数据库
data=[]#重置列表
print()#换行
cursor.close()#关闭游标
db.close()#关闭数据库连接