Cet article présente principalement la méthode de lecture des données Excel et de leur stockage dans MySQL avec Python3. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
. Python est un outil puissant pour l'analyse des données.
La première étape dans l'utilisation de Python pour l'analyse des données est d'apprendre à lire divers rapports Excel générés au cours du travail quotidien et à les stocker dans les données pour faciliter le traitement ultérieur des données.
Ici, j'aimerais partager avec vous comment python3 utilise xlrd pour lire Excel et utiliser Python3 pour faire fonctionner le module pymysql afin de stocker des données dans Mysql. Les amis dans le besoin devraient y jeter un œil.
Préface
pymsql est un module en Python qui exploite MySQL, et son utilisation est presque la même que MySQLdb. Mais actuellement, pymysql prend en charge python3.x et ce dernier ne prend pas en charge la version 3.x.
Python utilise principalement les deux bibliothèques xlrd et xlwt pour faire fonctionner Excel, c'est-à-dire que xlrd est une bibliothèque pour lire Excel et xlwt est une bibliothèque pour écrire Excel.
Version
python >= 3.6
mysql >= 5.7.19
Installation
L'installation de python et mysql ne sera pas décrite en détail ici. Les amis dans le besoin peuvent utiliser Baidu
xlrd : Vous pouvez également utiliser. pip pour l'installer. Téléchargez manuellement le code source pour l'installation, installation pip : pip install xlrd
pymysql : Vous pouvez utiliser l'installation pip ou télécharger manuellement le code source pour l'installation, installation pip : pip install 🎜>
Lire Excel
import xlrd import pymysql from datetime import datetime from xlrd import xldate_as_tuple
Créer une connexion à la base de données
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)
gaishi123 est le mot de passe de la racine mysql, sales_data est le nom de la base de données
db = pymysql.connect("localhost", "root", "gaishi123", "sales_data", use_unicode=True, charset="utf8")
Recommandations associées :
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('事务处理成功')
Un exemple de la façon dont python lit un fichier csv et place le fichier dans une liste
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!