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程序中操作文件之flush()方法的使用教程
May 24 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
python 实现在Excel末尾增加新行
May 02 Python
TensorFlow实现简单卷积神经网络
May 24 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
如何使用python包中的sched事件调度器
Apr 30 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
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
phpfpm的作用和用法
2019/10/10 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Python itertools模块详解
2015/05/09 Python
import的本质解析
2017/10/30 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python开发游戏的前期准备
2019/05/05 Python
python实现图片九宫格分割
2021/03/07 Python
Python如何定义接口和抽象类
2020/07/28 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
关于读书的演讲稿800字
2014/08/27 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书