一、dict转json python
Python是一个强大且流行的编程语言,它提供了将python中的数据类型转换为JSON格式的内置模块。Python的json模块提供了简单的编码器和解码器,可用于处理来自网络数据源的JSON数据。
对于python中的一个dict对象,我们可以使用json.dump()将其转换为JSON格式的字符串,或者使用json.dumps()方法将其转换为JSON格式的对象。同样,我们可以使用json.load()或json.loads()方法从JSON格式的字符串中load一个字典对象。
import json # dict对象转为json字符串 dict_obj = {"name": "John", "age": 30, "city": "New York"} json_str = json.dumps(dict_obj, indent=4, sort_keys=True) print(json_str) # json字符串转为dict对象 json_str = '{"name": "John", "age": 30, "city": "New York"}' dict_obj = json.loads(json_str) print(dict_obj)
二、dict转换json
Python中的json模块不仅可以将dict转换为JSON格式,还可以将其他数据类型转换为JSON格式,如list、tuple、int、float等等。需要注意的是,在转化时,需要将需要转换的数据对象放在一个list或tuple中。
import json # list对象转为json字符串 list_obj = ["John", 30, "New York"] json_str = json.dumps(list_obj, indent=4, sort_keys=True) print(json_str) # json字符串转为list对象 json_str = '["John", 30, "New York"]' list_obj = json.loads(json_str) print(list_obj)
三、dict转list
如果需要将dict对象转换为list或者tuple对象,我们可以使用python中的dict.values()方法获取字典中的值,并直接将其转换为list或tuple。
dict_obj = {"name": "John", "age": 30, "city": "New York"} # dict values转为list对象 values_list = list(dict_obj.values()) print(values_list) # dict values转为tuple对象 values_tuple = tuple(dict_obj.values()) print(values_tuple)
四、dict转tensor
如果想将dict对象转换为Tensor(张量)对象,可以使用Python中的NumPy库,其中包含了Tensor的定义和操作。
import numpy as np dict_obj = {"name": "John", "age": 30, "city": "New York"} # dict转为tensor对象 tensor_obj = np.array(list(dict_obj.values())) print(tensor_obj)
五、dict转二进制
也可以将字典对象转换为二进制格式的数据。这要使用Python中的pickle模块,它是一个将Python对象序列化为二进制字节流的库。
import pickle dict_obj = {"name": "John", "age": 30, "city": "New York"} # dict转为二进制格式 binary_obj = pickle.dumps(dict_obj) print(binary_obj) # 二进制格式转为dict对象 dict_obj = pickle.loads(binary_obj) print(dict_obj)
六、dict转string
字典对象也可以转换为字符串。Python中有一个标准库string模块,可以将字典对象转换为具有可读性的格式化字符串。
import string dict_obj = {"name": "John", "age": 30, "city": "New York"} # dict转为string string_obj = string.Template('$name is $age years old and lives in $city.').substitute(dict_obj) print(string_obj)
七、dataframe转dict
如果有数据框(DataFrame)对象,可以使用pandas库将其转换为字典对象。在这里选择用read_csv方法来获得一个dataframe对象。
import pandas as pd df = pd.read_csv('data.csv') # dataframe转为dict对象 dict_obj = df.to_dict('records') print(dict_obj)
八、ordereddict转dict
如果字典对象是有序的(OrderedDict),我们可以使用python中的内置dict()函数将其转换为无序的字典对象。
from collections import OrderedDict ordered_dict_obj = OrderedDict([('a', '1'), ('b', '2'), ('c', '3')]) # ordereddict转dict dict_obj = dict(ordered_dict_obj) print(dict_obj)
九、dict转成dataframe
如果字典对象需要转换为数据框对象,我们可以使用pandas库中的DataFrame()方法。在这里我们先将字典转换为列表,然后再将列表转换为数据框对象。
import pandas as pd dict_obj = {"name": ["John", "Jack", "Jane"], "age": [30, 25, 35], "city": ["New York", "Los Angeles", "San Francisco"]} # dict转为dataframe df = pd.DataFrame(list(dict_obj.items()), columns=['col1', 'col2']) print(df)