一、json转csv :将json中的数据转换成csv文件
import json
import csv
"""
需求:将json中的数据转换成csv文件
"""
def json_to_csv():
# 1.分别 读,创建文件
json_fp = open("word.json", "r",encoding='utf-8')
csv_fp = open("word.csv", "w",encoding='utf-8',newline='')
# 2.提出表头和表的内容
data_list = json.load(json_fp)
sheet_title = data_list[0].keys()
# sheet_title = {"姓名","年龄"} # 将表头改为中文
sheet_data = []
for data in data_list:
sheet_data.append(data.values())
# 3.csv 写入器
writer = csv.writer(csv_fp)
# 4.写入表头
writer.writerow(sheet_title)
# 5.写入内容
writer.writerows(sheet_data)
# 6.关闭两个文件
json_fp.close()
csv_fp.close()
注意:只适用于下面这重类型的json文件:
[
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
运行后得到的结果:
而这种类型不适用(需要改成上面这种格式):
{
"sites": [
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
二、提取json数据:
import json
jsonstring = '{"user_man":[{"name":"Peter"},{"name":"xiaoming"}],"user_woman":[{"name":"Anni"},{"name":"zhangsan"}]}'
print(json_data)
print(json_data['user_man'])
print(json_data['user_woman'])
print(json_data['user_man'][0])
print(json_data['user_man'][1])
print(json_data['user_man'][0]['name'])
print(json_data['user_man'][1]['name'])
输出:
{'user_man': [{'name': 'Peter'}, {'name': 'xiaoming'}], 'user_woman': [{'name': 'Anni'}, {'name': 'zhangsan'}]}
[{'name': 'Peter'}, {'name': 'xiaoming'}]
[{'name': 'Anni'}, {'name': 'zhangsan'}]
{'name': 'Peter'}
{'name': 'xiaoming'}
Peter
xiaoming
Process finished with exit code 0
参考链接:
https://blog.csdn.net/weixin_41855010/article/details/108358091
https://blog.csdn.net/Yuki1127918/article/details/122012131
https://www.csdn.net/tags/MtTaMg0sMjk1NzktYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/qq_58754996/article/details/121170804