python实现通用json导入到mysql
import json from Db import Db db = Db() ''' 参考配置文件 { "file": "test.json", "path": "data", "table": "tk_bill", "comitcount": 50, "map": { "trade_id": "trade_id", "tk_status": "tk_status", "item_title": "item_title", "alipay_total_price": "alipay_total_price", "tk_paid_time": "tk_paid_time", "pub_share_pre_fee": "pub_share_pre_fee", "subsidy_fee": "subsidy_fee", "tk_settletime": "tk_settletime" } } ''' def loadJsonFromFile(file): ''' 加载配置 :return: ''' with open(file) as f: return json.load(f) def getData(jsonObj, path): return jsonObj[path] if __name__ == '__main__': importConfig = loadJsonFromFile("jsonmap.conf") # 获取要导入的表名 tableName = importConfig["table"] comitcount = importConfig["comitcount"] cols = [] colsidx = [] for k, v in importConfig["map"].items(): cols.append(k) colsidx.append(v) sqlpre = "insert into %s(%s) values " % (tableName, ",".join(cols)) jsonobj = loadJsonFromFile(importConfig["file"]) # 获取列表部分 pathArr = [] if importConfig["path"] != "": pathArr = importConfig["path"].split(".") for key in pathArr: jsonobj = getData(jsonobj, key) vlist = [] for i, data in enumerate(jsonobj): print("处理第%d行" % (i + 1)) temlist = []; for k in colsidx: s = "'%s'" % data[k].replace("'", "''") temlist.append(s) vlist.append("(%s)" % ",".join(temlist)) if i % comitcount == 0: sql = sqlpre + ",".join(vlist) db.execSql(sql) vlist.clear() continue if len(vlist) > 0: sql = sqlpre + ",".join(vlist) db.execSql(sql) vlist.clear() print("处理完成")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人