news 2026/10/1 21:08:37

更新mysql数据python脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
更新mysql数据python脚本

逐条更新数据,统计成功和失败数目。

脚本内容,

# 虚拟环境:py3_8_20_patent_env # conda install -c conda-forge rdkit # pip install openpyxl # 一个接一个更新表 my_dataset 内容,根据name更新 alpha_xx_au,alpha_yy_au,alpha_zz_au,alpha_iso_au # 错误数据不会影响正常数据 import logging import time import warnings import numpy as np import pandas as pd import pymysql from pymysql.constants import CLIENT class MoleGeneDataImporter: def __init__(self): self.current_date = pd.Timestamp.now().strftime('%Y%m%d%H%M') self.setup_logging() self.load_config() def setup_logging(self): """配置日志系统""" logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') warnings.filterwarnings("ignore") def load_config(self): """加载配置信息""" self.mysql_config = { 'host': 'localhost', 'user': 'root', 'password': 'root', 'database': 'db-1', 'port': 3306, 'client_flag': CLIENT.MULTI_STATEMENTS } self.excel_file = "./data/2025-9-26/xxx.xlsx" self.sheet_name = "数据" def read_excel_data(self): """读取Excel文件数据""" try: df = pd.read_excel(self.excel_file, sheet_name=self.sheet_name) logging.info("Excel文件读取成功!") return df except Exception as e: logging.error(f"读取Excel文件失败: {e}") raise @staticmethod def update_data_to_db(dataframe, connection): table_name = 'my_dataset' # dataframe中的nan替换为None dataframe = dataframe.replace(np.nan, None) """逐条更新数据库,遇到错误跳过""" success_count = 0 error_count = 0 error_records = [] try: with connection.cursor() as cursor: update_sql = f""" UPDATE {table_name} SET alpha_xx_au = %s, alpha_yy_au = %s, alpha_zz_au = %s, alpha_iso_au = %s WHERE name = %s """ for _, row in dataframe.iterrows(): try: # 执行单条更新 cursor.execute(update_sql, ( row['Alpha_xx_au'], row['Alpha_yy_au'], row['Alpha_zz_au'], row['Alpha_iso_au'], row['Name'] )) # 每条记录成功更新后立即提交 connection.commit() success_count += 1 # 每成功100条记录输出一次日志 if success_count % 100 == 0: logging.info(f"已成功更新 {success_count} 条记录") except Exception as e: # 如果发生异常,回滚当前记录(实际上,由于每条记录独立提交,回滚操作可能没有意义,因为已经提交的记录无法回滚) # connection.rollback() error_count += 1 error_records.append(row['Name']) logging.warning(f"更新记录 {row['Name']} 时出错: {e}") # 继续处理下一条记录 continue logging.info(f"数据更新完成!成功: {success_count} 条,失败: {error_count} 条") if error_count > 0: logging.warning(f"更新失败的记录: {error_records}") except Exception as e: connection.rollback() logging.error(f"数据更新过程中发生错误: {e}") raise def run(self): """主运行方法""" try: # 读取和处理数据 df = self.read_excel_data() logging.info(f"共读取到 {len(df)} 条记录") # 连接数据库并插入数据 connection = pymysql.connect(**self.mysql_config) logging.info("MySQL数据库连接成功!") logging.info("数据准备完成,开始逐条更新数据库...") self.update_data_to_db(df, connection) except Exception as e: logging.error(f"程序运行出错: {e}") finally: if 'connection' in locals() and connection: connection.close() logging.info("MySQL数据库连接已关闭。") if __name__ == "__main__": start_time = time.time() importer = MoleGeneDataImporter() importer.run() end_time = time.time() logging.info(f"逐条更新数据到mysql数据库完成,程序运行耗时: {end_time - start_time} 秒")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 21:07:34

杭州体育场馆 APP 开发有哪些靠谱的开发公司?

摘要选择杭州体育场馆 APP 开发公司,可从场景适配、功能落地、交付管控、技术支持等维度评估。虎链科技专注 APP 定制开发,可匹配场地预约、票务、运营管理等核心需求。杭州体育场馆运营的数字化需求持续增长,从场地预约到票务核销&#xff0…

作者头像 李华
网站建设 2026/10/1 21:06:18

Pixelle-Video 完整指南:如何 3 步从一个主题生成 AI 短视频成片

Pixelle-Video 完整指南:如何 3 步从一个主题生成 AI 短视频成片 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 你想出一条…

作者头像 李华
网站建设 2026/10/1 21:05:04

毕设工具怎么选?横向对比后,我最终选择 Okbiye

前言 临近毕业季,大量同学开始疯狂寻找各类 AI 论文辅助工具。网上工具五花八门,单点翻译、独立绘图、AI 写作、查重网站层出不穷。很多人踩坑之后才发现,单一工具只能解决某一个小问题,想要走完完整毕设流程,需要同时…

作者头像 李华
网站建设 2026/10/1 21:05:03

降AI率检测对比:知网和维普AIGC检测标准差异2026实测分析

降AI率检测对比:知网和维普AIGC检测标准差异2026实测分析 总有人问知网vs维普降AI率检测对比,这篇把主流几款降AI率效果对比清楚。 综合推荐嘎嘎降AI(www.aigcleaner.com),99.26%降AI率达标率。不同需求有不同最优降…

作者头像 李华
网站建设 2026/10/1 21:04:54

靠谱的做GEO的外贸营销服务商有哪些?综合实力推荐

外贸企业如何借助GEO营销破解获客困局?在外贸行业从传统获客向AI驱动营销转型的当下,不少企业正陷入投了广告没询盘、做了官网没流量、发了社媒没人看的困境。要理解这一现象,首先需要理清外贸获客的底层逻辑变迁:过去海外采购商习惯通过Goo…

作者头像 李华