python实战——JSON转CSV
将json格式的文件转换为csv格式的文件,用python写一个转换器
·
目标
将json格式的文件转换为csv格式的文件,用python写一个转换器
#依赖库
处理json文件需要json库,使用如下命令安装
pip install json
待转换的json文件名为input.json,格式如下:
[
{
"name": "lucy",
"height": 165,
"weight": 106
},
{
"name": "lilei",
"height": 175,
"weight": 138
}
]
实现
创建convert.py文件,代码如下:
# -*- coding: utf-8 -*-
import json
# 主程序,执行入口
if __name__ == '__main__':
# try except Python的异常处理机制
try:
# with Python中的上下文管理器,会帮我们释放资源,比如 关闭文件句柄
# open 函数为Python内建的文件读取函数,r代表只读
with open('input.json', 'r') as f:
# 解析一个有效的JSON字符串并将其转换为Python字典
data = json.loads(f.read())
# 使用 ,连接列表中的值
# data[0]是一个字典类型,一个星号代表展开键,两个星号(**)代表展开字典的值
output = ','.join([*data[0]])
# 遍历 字典列表data
for obj in data:
# 将结果转化为字符串,累加到output中
# f 为f-string格式化,将大括号中的表达式替代
output += f'\n{obj["name"]},{obj["height"]},{obj["weight"]}'
# 将结果写到到output.csv中
with open('output.csv', 'w') as f:
f.write(output)
except Exception as ex:
print(f'Error: {str(ex)}')
运行 python convert.py 就能得到转换后的output.csv文件,结果如下:
name,height,weight
lucy,165,106
lilei,175,138
更多推荐
已为社区贡献1条内容
所有评论(0)