介绍
欢迎关注我的公众号《若木的解忧杂货铺》
json格式
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript语言的一个子集,但同时独立于任何编程语言。JSON格式易于人类阅读和编写,同时也易于机器解析和生成,这使得它成为理想的数据交换语言。
JSON的基本格式
JSON格式主要包括数值、字符串、数组、对象、对象数组和数组对象这几种类型。以下是它们的基本格式和示例:
-
JSON数值:数值格式是键值对的形式,其中值可以是数字。 { "key1": 100, "key2": 20 }
-
JSON字符串:字符串格式同样是键值对的形式,但这里的值是字符串。 { "key1": "张三", "key2": "大忽悠" }
-
JSON数组:数组格式的值是一个中括号包裹的列表,列表中可以包含数值或字符串。 { "key": [0, 111111], "key1": [18874, 15157] }
-
JSON对象:对象格式的值是一个由大括号包裹的JSON对象。 { "key": {"1": "亚索"}, "key1": {"2": "刘备"} }
-
JSON对象数组:对象数组格式的值是一个数组,数组中的每个元素都是一个JSON对象。 { "我": [ {"key": "好好学习"}, {"key1": "天天向上"} ] }
-
JSON数组对象:数组对象格式的值是一个对象,对象的值是一个数组。 { "我": { "你": [18874, 15157] } }
-
JSON的高级应用
JSON不仅可以表示简单的数据结构,还可以表示更复杂的数据关系和层次结构。例如,一个JSON对象可以包含多个嵌套的对象和数组,这些对象和数组又可以包含更多的对象和数组,形成一个复杂的数据树。这种灵活性使得JSON可以轻松地表示复杂的数据模型和实体关系。
此外,JSON还支持多种编程语言,许多现代编程语言都提供了解析和生成JSON数据的库和工具。这意味着开发者可以在不同的语言和平台之间轻松地交换和处理JSON数据。
-
dataframe
- DataFrame 是 Pandas 中的一个核心数据结构,主要用于处理二维表格型数据。它类似于 Excel 电子表格或 SQL 表,具有行和列的概念。每个 DataFrame 可以包含不同类型的列,如整数、浮点数、字符串等。此外,DataFrame 提供了丰富的功能来进行数据访问、筛选、分割、合并、重塑、聚合以及转换等操作。
- DataFrame 可以通过多种方式创建,例如使用列表、字典、二维数组、NumPy 的 ndarray、另一个 DataFrame 或者直接从文件(如 CSV、Excel)读取数据。
-
转换实例
-
import json import pandas as pd import os import numpy as np import matplotlib.pyplot as plt import requests import pygwalker as pyg plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 os.chdir(r'file_path') ####根据字段用户自己添加 data = { "time": [], "citycode": [], "cityletter":[], "cityname": [], "index": [], "last_index": [], "index_level": [], "speed": [], "city_coords": [], "city_center": [], "provincecode": [], "provincename": [], "weekRate": [] } ###同上 with open(r'filename.txt', 'r', encoding= 'utf-8') as f: response = json.load(f)['data']['list'] for res in response: data['time'].append(res['time']) data['citycode'].append(res['citycode']) data['cityletter'].append(res['cityletter']) data['cityname'].append(res['cityname']) data['index'].append(res['index']) data['last_index'].append(res['last_index']) data['index_level'].append(res['index_level']) data['speed'].append(res['speed']) data['city_coords'].append(res['city_coords']) data['city_center'].append(res['city_center']) data['provincecode'].append(res['provincecode']) data['provincename'].append(res['provincename']) data['weekRate'].append(res['weekRate']) data = pd.DataFrame(data) #print(data.sample( 30))
此片内容至此结束,如您想要关注更多内容,欢迎您关注公众号----若木的解忧杂货铺