把xlsx文件導入到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):
### openpyxl版本
# 讀取excel文件
workbook = load_workbook(path)
# 獲得所有工作表的名字
sheets = workbook.get_sheet_names()

# 獲得第一張表
worksheet = workbook.get_sheet_by_name(sheets[0])

### 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(host='localhost', user='root', password='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, r"/技術提升/工具/tools/student.xlsx")
readTable(cur)

# 關閉游標鏈接
cur.close()
conn.commit()
# 關閉數據庫服務器連接,釋放內存
conn.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM