py2 window10
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: json_steve
import json
import csv
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def json_to_csv():
# json文件
json_file = open('.json', 'r')
# csv文件
csv_file = open('.csv', 'w')
# csv读写器
csv_writer = csv.writer(csv_file)
# 表头和正文
data = json.load(json_file)
# 表头
sheet_title = data[0].keys()
# 内容
content_list = []
for dic in data:
content_list.append(dic.values())
# content_list = [dic.values() for dic in data]
# 5.通过读写器 写入csv文件
csv_writer.writerow(sheet_title)
csv_writer.writerows(content_list)
# 6.关闭文件
json_file.close()
csv_file.close()
if __name__ == '__main__':
json_to_csv()
py3 window10
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: json_steve
import json
import csv
def json_to_csv():
# json文件
json_file = open('.json', 'r',encoding='utf-8')
# csv文件
csv_file = open('.csv', 'w',encoding='utf-8')
# csv读写器
csv_writer = csv.writer(csv_file)
# 表头和正文
data = json.load(json_file)
# 表头
sheet_title = data[0].keys()
# 内容
content_list = []
for dic in data:
content_list.append(dic.values())
# 5.通过读写器 写入csv文件
csv_writer.writerow(sheet_title)
csv_writer.writerows(content_list)
# 6.关闭文件
json_file.close()
csv_file.close()
if __name__ == '__main__':
json_to_csv()
注:py2 和 py3的不同:1,对字典操作的values()函数稍有不同,2,默认编码不同。
py2
>>> d = {1:1,2:2,3:3}
>>> d.values()
[1, 2, 3]
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
py3
>>> d = {1:1,2:2,3:3}
>>> d.values()
dict_values([1, 2, 3])
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'