3.1、数据存储—json和csv

一、JSON

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。

但是对象和数组是比较特殊且常用的两种类型:

  • 对象,表示为键值对

  • 数据,由逗号分隔

  • 花括号,保存对象

  • 方括号,保存数组

  •  

  • 对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型

  •  

    数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

     

  •  

  • JSON在线解析 https://www.json.cn/

    JSON百科信息:https://baike.baidu.com/item/JSON/2462549?fr=aladdin

    JSON教程:https://www.w3cschool.cn/json/7ta41iht.html

 

import json


'''一、字符串 和 dic list 转换'''

# 字符串 (json形式)  ——>  dict list (json文件数据)
data = '[{"name":"张三","age":20},{"name":"李四","age":18}]'
list_data = json.loads(data)

# dict list ——> 字符串
list2 = [{"name": "张三", "age": 20}, {"name": "李四", "age": 18}]
data_json = json.dumps(list2)


'''二.文件对象  和 dict list 转换'''

# 1、dict list  写入 json文件
list2 = [{"name": "张三", "age": 20}, {"name": "李四", "age": 18}]

fp = open('02new.json', 'w')  # fp 是 file path
json.dump(list2, fp)
#fp.close()

# 等效于json.dump(list2, open('02new.json', 'w') )

# 2、读取json文件 -----list dict
resulst = json.load(open('02new.json', 'r'))

print(resulst)

 

二、csv 

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

 

 

json中的数据 转换成 csv文件

import json
import csv

# 需求: 将json中的数据 转换成 csv文件


'''1.分别 读 , 创建文件'''
json_fp = open('02new.json', 'r')
csv_fp = open('03csv.csv', 'w')

'''2.提出 表头 , 表内容'''
data_list = json.load(json_fp) # 读取json数据
sheet_title = data_list[0].keys() # 表头

sheet_data = []
for data in data_list: #遍历 读取保存表内容
    sheet_data.append(data.values())


# csv部分
'''3. csv 写入器'''
writer = csv.writer(csv_fp)

'''4. 写入表头'''
writer.writerow(sheet_title)

'''5. 写入内容'''
writer.writerows(sheet_data)

'''6. 关闭两个文件'''
json_fp.close()
csv_fp.close()

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值