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中的fileinput模块的简单实用示例
Jul 09 Python
Python批量修改文本文件内容的方法
Apr 29 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
Django框架用户注销功能实现方法分析
May 28 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
如何使用python进行pdf文件分割
Nov 11 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
python 实现超级玛丽游戏
Nov 25 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 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+MySQL的聊天室设计
2006/10/09 PHP
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
javascript 获取图片颜色
2009/04/05 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python实现多行注释的另类方法
2014/08/22 Python
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
几个SQL的面试题
2014/03/08 面试题
门面房租房协议书
2014/08/20 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
导游词怎么写
2015/02/04 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android