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实现数通设备端口监控示例
Apr 02 Python
Python 处理图片像素点的实例
Jan 08 Python
python动态进度条的实现代码
Jul 03 Python
python二进制文件的转译详解
Jul 03 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
Django在Model保存前记录日志实例
May 14 Python
python文件编写好后如何实践
Jul 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
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP 开源框架22个简单简介
2009/08/24 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
vscode调试django项目的方法
2020/08/06 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
2014年基建工作总结
2014/12/12 职场文书
颐和园导游词
2015/01/30 职场文书
安全生产先进个人总结
2015/02/15 职场文书
学历证明范文
2015/06/16 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers