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 相关文章推荐
pymongo给mongodb创建索引的简单实现方法
May 06 Python
Python中pygame安装方法图文详解
Nov 11 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python搭建Spark分布式集群环境
Jul 05 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
Series和DataFrame使用简单入门
Nov 13 Python
Python 使用threading+Queue实现线程池示例
Dec 21 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 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中文本操作的类
2007/03/17 PHP
精通php的十大要点(上)
2009/02/04 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
JS array 数组详解
2009/03/22 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python实现的各种排序算法代码
2013/03/04 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
分享python数据统计的一些小技巧
2016/07/21 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
Python处理PDF与CDF实例
2020/02/26 Python
python import 上级目录的导入
2020/11/03 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
中科创达面试题
2016/12/28 面试题
销售员试用期自我评价
2014/09/15 职场文书
表扬稿范文
2015/01/17 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
Oracle锁表解决方法的详细记录
2022/06/05 Oracle