Python实现把json格式转换成文本或sql文件


Posted in Python onJuly 10, 2015

python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件?

下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件。

[root@bogon tutorial]# vi json2txt.py 
#-*- coding: UTF-8 -*-
import json

data = []
with open('./tencent_test.json') as f:
  for line in f:
    data.append(json.loads(line))

#print json.dumps(data, ensure_ascii=False)


import codecs
file_object = codecs.open('tencent.txt', 'w' ,"utf-8")
str = "\r\n"
splitstr = "#_#"
for item in data:
  #print json.dumps(item)
  #str = str + "insert into tencent(name,catalog,workLocation,recruitNumber,detailLink,publishTime) values "
  #str = str + "'%s','%s','%s','%s','%s'\r\n" % (item['parentTitle'],item['parentLink'],item['author'],item['link'],item['title'])
  #print json.loads(item['author']) + "\r\n"
  str = "%s#_#%s#_#%s#_#%s#_#%s\r\n" % (item['parentTitle'],item['parentLink'],item['author'],item['link'],item['title'].strip())
  file_object.write(str)

#import codecs
#file_object = codecs.open('tencent.txt', 'w' ,"utf-8")
#file_object.write(str)
file_object.close()
print "success"

注:如果数据量过大不宜全部放在str里一次性写入文件。可以考虑逐行写入,或者到达一定程度时批量写入。

另外:python通过strip(rm)替换字符串,当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')。

测试:

json格式的数据

[root@bogon tutorial]# vi tencent_test.json 

{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}
{"author": "作者", "parentTitle": "父标题", "title": "标题", "pageUrl": "pageurl", "link": "linkurl", "parentLink": "parenturl"}

运行python json2txt.py

[root@bogon tutorial]# python json2txt.py 
success
[root@bogon tutorial]# more tencent.txt 
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
父标题#_#parenturl#_#作者#_#linkurl#_#标题
Python 相关文章推荐
使用python装饰器验证配置文件示例
Feb 24 Python
python益智游戏计算汉诺塔问题示例
Mar 05 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
python访问抓取网页常用命令总结
Apr 11 Python
Django自定义认证方式用法示例
Jun 23 Python
python爬虫获取多页天涯帖子
Feb 23 Python
火车票抢票python代码公开揭秘!
Mar 08 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python得到单词模式的示例
Oct 15 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
python安装后的目录在哪里
Jun 21 Python
Python中的一些陷阱与技巧小结
Jul 10 #Python
Python中的fileinput模块的简单实用示例
Jul 09 #Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 #Python
python冒泡排序简单实现方法
Jul 09 #Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 #Python
python简单猜数游戏实例
Jul 09 #Python
Python使用turtule画五角星的方法
Jul 09 #Python
You might like
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
阿拉伯书店:Jamalon
2019/07/24 全球购物
旅游项目开发策划书
2014/01/18 职场文书
保护地球的标语
2014/06/17 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
python基础详解之if循环语句
2021/04/24 Python
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python