Python批量匯入Excel資料到MySQL
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/11/20 14:30
# @Author : lumia98@vip.qq.com
# @File : Excel
# @Software: PyCharm
import xlrd
import pymysql
class Add_Excel_Data_To_MySQL(object):
"""
Excel表格資料批量匯入到MySQL庫
"""
# pymysql連線
def conn_pymysql(self, host, dbuser, dbpass, dbname):
# 連線MySQL
self.conn = pymysql.connect(host=host, user=dbuser, passwd=dbpass, db=dbname)
# 獲得遊標物件, 用於逐行遍歷資料庫資料
self.cursor = self.conn.cursor()
def excel_path(self, file_path, excle_table_name):
self.excel = xlrd.open_workbook(file_path)
self.sheet_name = self.excel.sheet_by_name(excle_table_name)
# 迴圈Excel表格資料,並且寫入到MySQL
def for_excel_insert_mysql(self, db01, db02, db03, db04, db05, db06, db07):
"""
如果有其他欄位請新增
:param db01: MySQL表裡的第一個需要手動新增資料的欄位
:param db02: MySQL表裡的第二個需要手動新增資料的欄位
:param db03: MySQL表裡的第三個需要手動新增資料的欄位
:param db04: MySQL表裡的第四個需要手動新增資料的欄位
:param db05: MySQL表裡的第五個需要手動新增資料的欄位
:param db06: MySQL表裡的第六個需要手動新增資料的欄位
:param db07: MySQL表裡的第七個需要手動新增資料的欄位
:return:
"""
# 插入到MySQL
self.query = "INSERT INTO machine ({}, {}, {}, {}, {}, {}, {}) VALUES (%s, %s, %s, %s, %s, %s, %s)".format(db01,db02,db03,db04,db05,db06,db07)
# 建立一個for迴圈迭代讀取xls檔案每行資料的;
# 從第二行開始匯入;
# 如果沒有標題,則1改成0
for r in range(1, self.sheet_name.nrows):
# 匯入7列Excel資料(從第一列開始匯入);
# 如果匯入的列增加或者減少,請根據實情;
excel_01 = self.sheet_name.cell(r, 0).value,
excel_02 = self.sheet_name.cell(r, 1).value,
excel_03 = self.sheet_name.cell(r, 2).value,
excel_04 = self.sheet_name.cell(r, 3).value,
excel_05 = self.sheet_name.cell(r, 4).value,
excel_06 = self.sheet_name.cell(r, 5).value,
excel_07 = self.sheet_name.cell(r, 6).value
self.values = (excel_01, excel_02, excel_03, excel_04, excel_05, excel_06, excel_07)
# 執行sql語句
self.cursor.execute(self.query, self.values)
# 提交
self.conn.commit()
# 關閉遊標
self.cursor.close()
# 關閉資料庫連線
self.conn.close()
self.columns = str(self.sheet_name.ncols)
self.rows = str(self.sheet_name.nrows)
print("一共匯入了{}列, {}行資料!".format(self.columns, self.rows))
if __name__ == '__main__':
a = Add_Excel_Data_To_MySQL()
# 連線MySQL
a.conn_pymysql(host="172.211.13.11",dbuser="root",dbpass="123456",dbname="manage")
# Excel檔案路徑
a.excel_path(r"C:\Users\Super\Desktop\machine.xls", "table")
# Excel資料插入MySQL
a.for_excel_insert_mysql(
db01="cname_id",
db02="machine_name",
db03="machine_sn",
db04="monitor_name",
db05="monitor_sn",
db06="to_username",
db07="depart_id"
)
相關文章
- SQLServer匯出匯入資料到MySQLServerMySql
- 利用Excel匯入資料到SAP C4CExcel
- 使用Excel匯入資料到SAP Cloud for Customer系統ExcelCloud
- .NET Core使用NPOI將Excel中的資料批量匯入到MySQLExcelMySql
- Java 匯入資料到Excel並提供檔案下載介面JavaExcel
- Laravel- 後臺批量匯入 ExcelLaravelExcel
- spark sql與mysql 資料載入與匯出資料到mysqlSparkMySql
- Vue匯出資料到Excel電子表格VueExcel
- Python匯出資料到Excel表格-NotImplementedError: formatting_info=True not yet implementedPythonExcelErrorORM
- Elasticsearch批量匯入資料指令碼(python)Elasticsearch指令碼Python
- MATLAB匯入txt和excel檔案技巧彙總:批量匯入、單個匯入MatlabExcel
- C#快速匯出百萬級資料到Excel方法C#Excel
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- Excel資料快速匯入mysql的幾個辦法ExcelMySql
- Excel 表匯入資料Excel
- Oracle 資料匯入ExcelOracleExcel
- excel導資料到PostgresqlExcelSQL
- 利用跳板機連線mysql,匯出資料到csvMySql
- EasyPoi, Excel資料的匯入匯出Excel
- 如何通過 Excel import 的方式匯入測試資料到 SAP Commerce Cloud 伺服器ExcelImportCloud伺服器
- 【python】python初學 讀取map檔案資料到excel中PythonExcel
- excel 匯入sqlyog資料庫ExcelSQL資料庫
- 匯入excel 資料時間Excel
- NCF 如何匯入Excel資料Excel
- 從零開始實現放置遊戲(六):Excel批量匯入遊戲Excel
- python excel 內容寫入mysqlPythonExcelMySql
- vue excel匯入匯出VueExcel
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- 匯入excel資源到資料庫Excel資料庫
- excel匯入工具Excel
- MySQL入門--匯出和匯入資料MySql
- 使用csv批量匯入、匯出資料的需求處理
- Python匯入Excel表格資料並以字典dict格式儲存PythonExcel
- Angular Excel 匯入與匯出AngularExcel
- Excel匯入匯出神器(Java)ExcelJava
- python——將excel檔案寫入mysql資料庫中PythonExcelMySql資料庫
- Java:匯出Excel大批量資料的優化過程JavaExcel優化
- 資料庫 MySQL 資料匯入匯出資料庫MySql