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基础教程之Hello World!
Aug 29 Python
Python实现向QQ群成员自动发邮件的方法
Nov 19 Python
利用Python绘制MySQL数据图实现数据可视化
Mar 30 Python
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
Python操作csv文件实例详解
Jul 31 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
详解python实现线程安全的单例模式
Mar 05 Python
python递归全排列实现方法
Aug 18 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
python for 循环获取index索引的方法
Feb 01 Python
numpy求平均值的维度设定的例子
Aug 24 Python
python 如何快速复制序列
Sep 07 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
php全角字符转换为半角函数
2014/02/07 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP 断点续传实例详解
2017/11/11 PHP
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Django 使用logging打印日志的实例
2018/04/28 Python
Django框架实现的分页demo示例
2019/05/25 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
python中的unittest框架实例详解
2021/02/05 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
急诊科护士自我鉴定
2013/10/14 职场文书
建筑管理专业求职信
2014/07/28 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
导游词之河北邯郸
2019/09/12 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
用Python简陋模拟n阶魔方
2021/04/17 Python
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers