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生成随机验证码(中文验证码)示例
Apr 03 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
Python读取实时数据流示例
Dec 02 Python
python Gabor滤波器讲解
Oct 26 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python装饰器的练习题
Nov 23 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
php intval的测试代码发现问题
2008/07/27 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
css配合jquery美化 select
2013/11/29 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
django反向解析和正向解析的方式
2018/06/05 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
Python日志syslog使用原理详解
2020/02/18 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
优秀党员转正的自我评价
2013/10/06 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
博士给导师的自荐信
2015/03/06 职场文书
英语通知范文
2015/04/22 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书