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二分法实现实例
Nov 21 Python
python正则表达式re模块详细介绍
May 29 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
如何使用Python的Requests包实现模拟登陆
Apr 27 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
Django Model层F,Q对象和聚合函数原理解析
Nov 12 Python
安装pyinstaller遇到的各种问题(小结)
Nov 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
php面向对象的方法重载两种版本比较
2008/09/08 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
php中Snoopy类用法实例
2015/06/19 PHP
微信支付开发告警通知实例
2016/07/12 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
js倒计时抢购实例
2015/12/20 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
Python中将字典转换为列表的方法
2016/09/21 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
Python autoescape标签用法解析
2020/01/17 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
百丽国际旗下购物网站:优购
2017/02/28 全球购物
设计师求职信
2014/07/01 职场文书
爱护公物演讲稿
2014/09/09 职场文书
财会专业大学生求职信
2014/09/26 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
用Python远程登陆服务器的步骤
2021/04/16 Python
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏