Heim >Backend-Entwicklung >Python-Tutorial >So lesen Sie Excel-Daten und speichern sie mit Python3 in MySQL
Dieser Artikel stellt hauptsächlich die Methode zum Lesen von Excel-Daten und deren Speicherung in MySQL vor. Jetzt kann ich ihn mit Ihnen teilen.
Python ist ein leistungsstarkes Werkzeug zur Datenanalyse.
Der erste Schritt bei der Verwendung von Python für die Datenanalyse besteht darin, zu lernen, wie man verschiedene in der täglichen Arbeit erstellte Excel-Berichte liest und in den Daten speichert, um die anschließende Datenverarbeitung zu erleichtern.
Hier möchte ich mit Ihnen teilen, wie Python3 XLRD zum Lesen von Excel verwendet und Python3 zum Betreiben des PyMySQL-Moduls zum Speichern von Daten in MySQL verwendet. Freunde in Not sollten einen Blick darauf werfen.
Vorwort
pymsql ist ein Modul in Python, das MySQL betreibt, und seine Verwendung ist fast die gleiche wie MySQLdb. Aber derzeit unterstützt pymysql python3.x und letzteres unterstützt Version 3.x nicht.
Python verwendet hauptsächlich die beiden Bibliotheken xlrd und xlwt, um Excel zu betreiben, dh xlrd ist eine Bibliothek zum Lesen von Excel und xlwt ist eine Bibliothek zum Schreiben von Excel.
Version
Python >= 3.6
MySQL >= 5.7.19
Installation
Die Installation von Python und MySQL wird hier nicht im Detail beschrieben. Freunde in Not können Baidu verwenden
xlrd: Sie können auch verwenden pip, um es zu installieren. Laden Sie den Quellcode für die Installation manuell herunter, Pip-Installation: pip install xlrd
pymysql: Sie können die Pip-Installation verwenden oder den Quellcode für die Installation manuell herunterladen, Pip-Installation: pip install 🎜>
import xlrd
import pymysql
from datetime import datetime
from xlrd import xldate_as_tuple
Excel lesen
data = xlrd.open_workbook("D:/sales_data.xls") //读取D盘中名为sales_data的excel表格 table_one = data.sheet_by_index(0) //根据sheet索引获取sheet的内容 table_two = data.sheet_by_index(1)
Datenbankverbindung erstellen
db = pymysql.connect("localhost", "root", "gaishi123", "sales_data", use_unicode=True, charset="utf8")gaishi123 ist das Passwort von MySQL Root, sales_data ist der Datenbankname
for site in sites: # 遍历sheet1 for nrows_one in range(1, int(table_one.nrows)): if table_one.cell_value(nrows_one, 0) == site: payday = table_one.cell_value(0, 8) date = datetime(*xldate_as_tuple(payday, 0)) payday = date.strftime('%Y/%m/%d') # 出票日期 sales = float(table_one.cell_value(nrows_one, 1)) # 销量 quantity_ticket = int(table_one.cell_value(nrows_one, 2)) # 票数 rate_electronic = float(table_one.cell_value(nrows_one, 3)) # 电子直销占比 sales_thanlastweek = float(table_one.cell_value(nrows_one, 4)) # 销量同比上周 sales_thanlastyear = float(table_one.cell_value(nrows_one, 5)) # 销量同比去年 break # 遍历sheet2 for nrows_two in range(1, int(table_two.nrows)): if table_one.cell_value(nrows_two, 0) == site: session = int(table_two.cell_value(nrows_two, 1)) # 访问量 rate_conversion = float(table_two.cell_value(nrows_two, 2)) # 转化率 rate_paysuccess = float(table_two.cell_value(nrows_two, 3)) # 支付成功率 session_thanlastweek = float(table_two.cell_value(nrows_two, 4)) # 访问量同比上周 break # 将数据存入数据库 sql = "insert into sales_data(SITE, PAYDAY, SALES, QUANTITY_TICKET, RATE_ELECTRONIC, SALES_THANLASTWEEK," \ "SALES_THANLASTYEAR, SESSION, SESSION_THANLASTWEEK, RATE_CONVERSION, RATE_PAYSUCCESS)" \ " values ('%s','%s', %f, %d, %f, %f, %f, %d, %f, %f, %f)" %\ (site, payday, sales, quantity_ticket, rate_electronic, sales_thanlastweek, sales_thanlastyear, session, session_thanlastweek, rate_conversion, rate_paysuccess) try: # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() cursor.execute(sql) except Exception as e: # 发生错误时回滚 db.rollback() print(str(e)) else: db.commit() # 事务提交 print('事务处理成功')Verwandte Empfehlungen: So generieren Sie eine Liste, indem Python Dateinamen liest
Python liest CSV-Dateien und legt sie ab die Datei in eine Liste mit Beispielen
Das obige ist der detaillierte Inhalt vonSo lesen Sie Excel-Daten und speichern sie mit Python3 in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!