本文主要实现利用Python向Mysql数据按主键去重追加写入更新数据,写入数据源为Dataframe类型,可用于爬虫等需要去重追加更新数据的场景。
本文参考网络上相关写入Mysql的代码并作出以下几点优化:
- 无需指定需要写入的列名称
- 变量名称均用``括起,解决部分特殊变量名引起的报错
- 将整个追加写入过程包装成了外部工具类,仅需简单引用即可解决数据追加写入的问题
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 读取本地 excel 数据集到 Dataframe 中, 调用数据库工具类 DBUtils 中的insert_data 追加写入数据到数据库中
import os
import pymysql
import pandas as pd
from DBUtils import DBUtils
# 读取数据集
file_path = os.getcwd() + '/'
data = pd.read_excel(file_path + "data.xlsx")
data.fillna("", inplace=True) # 替换NaN,否则数据写入时会报错,也可替换成其他
# 连接数据库,定义变量
db = pymysql.connect(host='192.168.1.1', user=