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("处理完成")
python实现通用json导入到mysql的更多相关文章
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- python将oracle中的数据导入到mysql中。
一.导入表结构.使用工具:navicate premium 和PowerDesinger 1. 先用navicate premium把oracle中的数据库导出为oracle脚本. 2. 在Power ...
- Python读取Excel中的数据并导入到MySQL
""" 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...
- 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...
- Python数据库访问之SQLite3、Mysql
Python数据库访问之SQLite3.Mysql 现有的数据库管理系统有很多种,本文选择介绍两种DBMS:SQLite 3 和 Mysql. SQLite 3 SQLite 3是Python 3预装 ...
- python中的JSON(1)
很多程序都要求用户输入某种信息, 例如: 让用户存储游戏首选项或提供要可视化的数据,程序把用户的信息存储在列表和字典等数据结构中, 用户关闭程序时,我们几乎总要保存他们提供的信息: 如何保存-- ...
- 利用workbench将excel数据导入到MySQL中
数据导入的方式(csv,txt之类) 在MySQL中,数据导入的方式有两种方式 通过第三方客户端导入(workbench) 通过mysql client 方式导入 通过mysql clinet的导入方 ...
- Python scrapy爬虫数据保存到MySQL数据库
除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...
- 用JDBC把Excel中的数据导入到Mysql数据库中
步骤:0.在Mysql数据库中先建好table 1.从Excel表格读数据 2.用JDBC连接Mysql数据库 3.把读出的数据导入到Mysql数据库的相应表中 其中,步骤0的table我是先在Mys ...
- Python之使用Pandas库实现MySQL数据库的读写
本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写.首先我们需要了解点ORM方面的知识. ORM技术 对象关系映射技术,即ORM(Object-Relational ...
随机推荐
- MPC:百万富翁问题
学习文章:"一起学MPC:(一)百万富翁问题"和"[隐私计算笔谈]MPC系列专题(一):安全多方计算应用场景一览" 百万富翁问题 将问题具体化: Alice有\ ...
- 使用@Transactional注解的方法所在的类获取不到注解的解决方案
前段时间遇到一个问题,一个service叫做A吧,有多个实现类分别是B,C,D,需要根据前端传的不同参数去匹配不同的实现类,我就自定义了一个注解@OrderDeal放在B,C,D上面,然后匹配前端传的 ...
- c#使用Bitmap绘图的时候,内存增大问题
最近碰到一个问题,就是使用Biamap绘图的时候,为了防止闪烁,使用了双缓存绘制的方式,但是会碰到内存急剧增加的情况,而且在XP的工控机和Win10的机器上运行结果不一样,在Win10 上运行的时候, ...
- day02-实现01
实现01 1.实现任务阶段1 编写mytomcat,该服务器能给浏览器返回"你好,我是服务器!"的简单信息. 根据之前的tomcat框架整体分析,我们将浏览器发送请求,tomcat ...
- tomcat 随windows启动
有时候服务器会突然断电,维护管理员只会帮我们启动服务器,但是不会不会帮我们启动Tomcat. 1.进入tomcat的bin文件夹,找到startup.bat,右键生成快捷方式到桌面. 2.点击桌面左下 ...
- MICCAI 论文投稿须知翻译
MICCAI 论文投稿须知翻译 以MICCAI 2021 PAPER SUBMISSION AND REBUTTAL GUIDELINES为例,每年投稿须知类似 作者信息和rebuttal 本文件包含 ...
- 社论 22.10.9 优化连续段dp
CF840C 给定一个序列 \(a\),长度为 \(n\).试求有多少 \(1\) 到 \(n\) 的排列 \(p_i\),满足对于任意的 \(2\le i\le n\) 有 \(a_{p_{i-1} ...
- 【Day03】Spring cloud:源码讲解与容器化初探
今日内容 原理和源码 容器化过度 一.Naocs 1.介绍 server端 启动入口类(Spring Boot项目,提供8848端口的监听访问) 源码包含InstanceController类(ser ...
- linux-微服务-jar包部署指令
1 orderservice docker build -t orderservice . docker run -d -p 8084:8084 --name orderservice orderse ...
- jmeter websocket 接口测试环境准备
1.下载jdk并进行安装配置环境 2.下载jmeter,解压可直接使用,无需安装 3.进入下载地址下载plugins-manager.jar 插件 4.将下载好plugins-manager.jar ...