CN106095824A - 一种json格式文本导入数据库的方法 - Google Patents
一种json格式文本导入数据库的方法 Download PDFInfo
- Publication number
- CN106095824A CN106095824A CN201610380190.3A CN201610380190A CN106095824A CN 106095824 A CN106095824 A CN 106095824A CN 201610380190 A CN201610380190 A CN 201610380190A CN 106095824 A CN106095824 A CN 106095824A
- Authority
- CN
- China
- Prior art keywords
- data base
- json
- text
- imports
- sql statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种JSON格式文本导入数据库的方法,其实现过程为:首先查找需要转换的JSON文本文件,并将查找到的JSON文本文件转换成sql语句,然后在数据库中建立与该sql语句表相对应的数据库表,并将数据写入到数据库中。该一种JSON格式文本导入数据库的方法与现有技术相比,本发明可以适用于不同的数据库场景,既节省了人力,又提高工作效率,为统计信息的工作提供一种快速可执行的方法,实用性强,易于推广。
Description
技术领域
本发明涉及数据存储技术领域,具体地说是一种实用性强、JSON格式文本导入数据库的方法。
背景技术
随着存储系统业务复杂性的不断提升,人们对数据的应用场景要求越来越高。目前市面上使用的各个平台之间数据转换格式复杂多样,json作为一种轻量级的数据交换格式,完全独立于语音的文本格式,但是也使用了类似于C,C#,JAVA等语言的习惯,使得JSON成为理想的数据交换语言,从而广泛应用于各种场景下。
而JSON格式文本中往往数据量很大,直接查看显得非常复杂,在此情况下为了更方便的处理数据,我们希望把这些JSON格式的数据导入到数据库中。针对这种情况时,json文本格式能够转换为SQL语句,导入到数据库中显得尤为重要。
基于以上内容,我们提出一种全新的SON格式文本导入数据库的方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、JSON格式文本导入数据库的方法。
一种JSON格式文本导入数据库的方法,其实现过程为:
首先查找需要转换的JSON文本文件,并将查找到的JSON文本文件转换成sql语句,然后在数据库中建立与该sql语句表相对应的数据库表,并将数据写入到数据库中。
查找并转换JSON文本文件过程为:
在系统指定目录下确认是否存在需要转换格式的JSON文本文件,如果存在,则执行转换脚本;
转换脚本执行时,首先读取指定目录下JSON文本文件存入数组中;
将数组中字符串按格式截取拼接成为insert语句;
输出转换完成后的sql语句到结果文件中。
在数据库中建立与该sql语句表相对应的数据库表的具体过程为:
在数据库中建立与insert语句表结构一致的数据库表;然后在数据库中执行结果文件,即执行后缀为.sql的文件,最后将数据写入数据库中。
本发明的一种JSON格式文本导入数据库的方法,具有以下优点:
本发明的一种JSON格式文本导入数据库的方法,通过执行转换脚本的方法,可以把JSON格式文本转换为insert格式SQL语句;不同结构的JSON格式文本,可以生成不同的insert格式SQL语句;insert格式的SQL语句可以在各种数据库下执行,可以适用于不同的数据库场景,既节省了人力,又提高工作效率,为统计信息的工作提供一种快速可执行的方法,实用性强,易于推广。
附图说明
附图1为本发明的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,本发明提供一种JSON格式文本导入数据库的方法,其实现过程为:
首先查找需要转换的JSON文本文件,并将查找到的JSON文本文件转换成sql语句,然后在数据库中建立与该sql语句表相对应的数据库表,并将数据写入到数据库中。
查找并转换JSON文本文件过程为:
在系统指定目录下确认是否存在需要转换格式的JSON文本文件,如果存在,则执行转换脚本;
转换脚本执行时,首先读取指定目录下JSON文本文件存入数组中;
将数组中字符串按格式截取拼接成为insert语句;
输出转换完成后的sql语句到结果文件中。
在数据库中建立与该sql语句表相对应的数据库表的具体过程为:
在数据库中建立与insert语句表结构一致的数据库表;然后在数据库中执行结果文件,即执行后缀为.sql的文件,最后将数据写入数据库中。
基于该方法,本发明的具体实施过程如下所述:
一、上传JSON格式文本文件到系统指定目录下,如下:
/tmp/xxx.json。
二、编写转换文件,读取系统指定目录下的JSON格式文本文件。
#-*-coding:UTF-8-*-
import json #导入json模块
data=[] #定义数组
with open('/tmp/xxx.json')as f:
for line in f:
data.append(json.loads(line)) #读取指定目录下的json文件。
三、将数组中字符串按格式截取拼接成为insert语句。
str="\r\n"
for item in data:
#print json.dumps(item)
str=str+"insert into表名(字段名1,字段名2,字段名3,字段名4,字段名5,字段名6)values"
str=str+"('%s','%s','%s','%s','%s','%s');\r\n"%(item['字段名1'],item['字段名2'],item['字段名3'],item['字段名4'],item['字段名5'],item['字段名6'])。
#根据xxx.json格式不同,insert拼接语句字段可调整#。
四、输出转换完成后的sql语句到结果文件中。
import codecs
file_object=codecs.open('xxx.sql','w',"utf-8") #转换结果写入xxx.sql,采用utf-8格式字符
file_object.write(str)
file_object.close()
print"success" #打印转换结果成功。
五、在数据库中建立与insert语句表结构一致的数据库表。
Create table[表名]([字段1]类型,[字段2]类型,···)。
六、在数据库中执行转换结果文件。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种JSON格式文本导入数据库的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (3)
1.一种JSON格式文本导入数据库的方法,其特征在于,其实现过程为:首先查找需要转换的JSON文本文件,并将查找到的JSON文本文件转换成sql语句,然后在数据库中建立与该sql语句表相对应的数据库表,并将数据写入到数据库中。
2.根据权利要求1所述的一种JSON格式文本导入数据库的方法,其特征在于,查找并转换JSON文本文件过程为:
在系统指定目录下确认是否存在需要转换格式的JSON文本文件,如果存在,则执行转换脚本;
转换脚本执行时,首先读取指定目录下JSON文本文件存入数组中;
将数组中字符串按格式截取拼接成为insert语句;
输出转换完成后的sql语句到结果文件中。
3.根据权利要求1所述的一种JSON格式文本导入数据库的方法,其特征在于,在数据库中建立与该sql语句表相对应的数据库表的具体过程为:
在数据库中建立与insert语句表结构一致的数据库表;然后在数据库中执行结果文件,即执行后缀为.sql的文件,最后将数据写入数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610380190.3A CN106095824A (zh) | 2016-06-01 | 2016-06-01 | 一种json格式文本导入数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610380190.3A CN106095824A (zh) | 2016-06-01 | 2016-06-01 | 一种json格式文本导入数据库的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106095824A true CN106095824A (zh) | 2016-11-09 |
Family
ID=57230004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610380190.3A Pending CN106095824A (zh) | 2016-06-01 | 2016-06-01 | 一种json格式文本导入数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095824A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107256206A (zh) * | 2017-05-24 | 2017-10-17 | 北京京东尚科信息技术有限公司 | 字符流格式转换的方法和装置 |
CN107688659A (zh) * | 2017-09-08 | 2018-02-13 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN108153834A (zh) * | 2017-12-14 | 2018-06-12 | 广州市玄武无线科技股份有限公司 | 一种商业智能应用查询数据的方法、装置及电子设备 |
CN110806999A (zh) * | 2018-07-19 | 2020-02-18 | 上海擎感智能科技有限公司 | 管理csv文件的方法和装置 |
CN111125215A (zh) * | 2019-12-06 | 2020-05-08 | 厦门天锐科技股份有限公司 | 一种可配置json转数据库的方法 |
CN113488195A (zh) * | 2021-06-11 | 2021-10-08 | 华中科技大学同济医学院附属协和医院 | 一种批量化精准用药决策支持系统 |
-
2016
- 2016-06-01 CN CN201610380190.3A patent/CN106095824A/zh active Pending
Non-Patent Citations (1)
Title |
---|
LVHEN: "《Python将JSON格式数据转换为SQL语句以便导入MySQL数据库 (转)》", 《HTTP://F.DATAGURU.CN/FORUM.PHP?EXTRA=PAGE=1&TID=634805》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107256206A (zh) * | 2017-05-24 | 2017-10-17 | 北京京东尚科信息技术有限公司 | 字符流格式转换的方法和装置 |
CN107256206B (zh) * | 2017-05-24 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 字符流格式转换的方法和装置 |
CN107688659A (zh) * | 2017-09-08 | 2018-02-13 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN108153834A (zh) * | 2017-12-14 | 2018-06-12 | 广州市玄武无线科技股份有限公司 | 一种商业智能应用查询数据的方法、装置及电子设备 |
CN110806999A (zh) * | 2018-07-19 | 2020-02-18 | 上海擎感智能科技有限公司 | 管理csv文件的方法和装置 |
CN111125215A (zh) * | 2019-12-06 | 2020-05-08 | 厦门天锐科技股份有限公司 | 一种可配置json转数据库的方法 |
CN113488195A (zh) * | 2021-06-11 | 2021-10-08 | 华中科技大学同济医学院附属协和医院 | 一种批量化精准用药决策支持系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095824A (zh) | 一种json格式文本导入数据库的方法 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN104361139B (zh) | 数据导入装置和方法 | |
CN108196880A (zh) | 软件项目知识图谱自动构造方法与系统 | |
CN102982010A (zh) | 提取文档结构的方法和装置 | |
CN106339498A (zh) | 数据同步方法、装置和系统 | |
CN109740159B (zh) | 用于命名实体识别的处理方法及装置 | |
CN103729457A (zh) | 基于互联网的数字化图书辅助阅读系统及其方法 | |
CN102214244A (zh) | docx文件信息解析方法及系统 | |
CN110109681A (zh) | 不同平台间代码的转换方法及系统 | |
CN108280056A (zh) | 一种Excel文件解析方法 | |
CN105975446A (zh) | 手机端分模块显示word文档内容的方法及系统 | |
CN104679726A (zh) | Word文件的排版方法和装置 | |
CN108446115A (zh) | 一种代码复用的方法及装置 | |
CN103605733A (zh) | 基于json数组的页面布局存储方法 | |
CN106095961A (zh) | 表显示处理方法和装置 | |
CN109657237B (zh) | 时间词的抽取方法及装置 | |
CN103455964B (zh) | 一种基于案件信息的案件线索分析系统及方法 | |
US10614169B1 (en) | Script unique prompts | |
CN105912723A (zh) | 一种自定义字段的存储方法 | |
CN101859293A (zh) | 电子阅读器及其编辑文档的存储方法 | |
CN101272222A (zh) | 一种约束校验方法及装置 | |
CN103955519A (zh) | 一种台账查询记录系统及其查询记录方法 | |
CN101799890A (zh) | 证照数据处理方法和系统 | |
CN110110050A (zh) | 一种新闻事件生成式问答数据集的生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161109 |
|
RJ01 | Rejection of invention patent application after publication |