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编写分析Python程序性能的工具的教程
Apr 01 Python
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
通过Python来使用七牛云存储的方法详解
Aug 07 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
Python中pillow知识点学习
Apr 30 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
python 实现A*算法的示例代码
Aug 13 Python
pyqt5实现登录界面的模板
May 30 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
django教程如何自学
Jul 31 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 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 has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php生成随机密码的几种方法
2011/01/17 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
PHP开发注意事项总结
2015/02/04 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
python中map、any、all函数用法分析
2015/04/21 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
Python requests模块cookie实例解析
2020/04/14 Python
消防安全检查制度
2014/02/04 职场文书
班风口号
2014/06/18 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
建国大业观后感
2015/06/01 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
python_tkinter弹出对话框创建
2022/03/20 Python
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python