阅读背景:

Python3将excel中的数据导入mysql数据库

来源:互联网 
import pymysql # xlrd 为 python 中读取 excel 的库,支持.xls 和 .xlsx 文件 # import xlrd # openpyxl 库支持 .xlsx 文件的读写 from openpyxl.reader.excel import load_workbook from builtins import int #cur 是数据库的游标链接,path 是 excel 文件的路径 def importExcelToMysql(cur, path): ### xlrd版本 # 读取excel文件 # workbook = xlrd.open_workbook(path) # sheets = workbook.sheet_names() # worksheet = workbook.sheet_by_name(sheets[0]) ### ### openpyxl版本 # 读取excel文件 workbook = load_workbook(path) # 获得所有工作表的名字 sheets = workbook.get_sheet_names() # 获得第一张表 worksheet = workbook.get_sheet_by_name(sheets[0]) ### ### xlrd版本 # 将表中数据读到 sqlstr 数组中 # for i in range(1, worksheet.nrows): # row = worksheet.row(i) # # sqlstr = [] # # for j in range(0, worksheet.ncols): # sqlstr.append(worksheet.cell_value(i, j)) ### ### openpyxl版本 # 将表中每一行数据读到 sqlstr 数组中 for row in worksheet.rows: sqlstr = [] for cell in row: sqlstr.append(cell.value) ### valuestr = [str(sqlstr[0]), int(sqlstr[1]), int(sqlstr[2]), int(sqlstr[3])] # 将每行数据存到数据库中 cur.execute("insert into student(姓名, 语文, 数学, 英语) values(%s, %s, %s, %s)", valuestr) # 输出数据库中内容 def readTable(cursor): # 选择全部 cursor.execute("select * from student") # 获得返回值,返回多条记录,若没有结果则返回() results = cursor.fetchall() for i in range(0, results.__len__()): for j in range(0, 4): print(results[i][j], end='\t') print('\n') if __name__ == '__main__': # 和数据库建立连接 conn = pymysql.connect('localhost', 'root', '123456', charset='utf8') # 创建游标链接 cur = conn.cursor() # 新建一个database cur.execute("drop database if exists students") cur.execute("create database students") # 选择 students 这个数据库 cur.execute("use students") # sql中的内容为创建一个名为student的表 sql = """CREATE TABLE IF NOT EXISTS `student` ( `姓名` VARCHAR (20), `语文` INT, `数学` INT, `英语` INT )""" # 如果存在student这个表则删除 cur.execute("drop table if exists student") # 创建表 cur.execute(sql) # 将 excel 中的数据导入 数据库中 importExcelToMysql(cur, "./student.xlsx") readTable(cur) # 关闭游标链接 cur.close() conn.commit() # 关闭数据库服务器连接,释放内存 conn.close() import pymysql # xlrd 为 python 中读取 excel 的库,支持.



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: