
python 怎么转换为字典
用户关注问题
我有一个格式正确的字符串,怎样能将它转换成Python中的字典对象?
使用json.loads或ast.literal_eval转换字符串为字典
可以使用json模块中的json.loads()方法,将符合JSON格式的字符串转换为字典。如果字符串不完全符合JSON格式,可以尝试用ast.literal_eval()方法安全地解析字符串为字典。示例:
import json
json_str = '{"key": "value"}'
dict_obj = json.loads(json_str)
或者
import ast
str_repr = "{'key': 'value'}"
dict_obj = ast.literal_eval(str_repr)
我想将一个Python对象转换为字典格式,应该怎么做?
使用对象的__dict__属性或者手动转换
对于自定义对象,可以通过访问其__dict__属性直接获取属性字典。如果对象较复杂,可以定义一个方法来返回其属性组成的字典。示例:
class Person:
def init(self, name, age):
self.name = name
self.age = age
p = Person('Alice', 30)
obj_dict = p.dict
这样就得到了包含对象属性的字典。
我有CSV格式或者列表数据,想转换成字典格式,有什么简便的方式?
利用csv模块或字典推导式进行转换
可以使用csv.DictReader读取CSV文件,每行数据会自动转换为字典。如果是列表数据,可以用字典推导式或zip函数将对应键值对转换为字典。示例:
import csv
with open('data.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(dict(row))
或者
keys = ['name', 'age']
values = ['Bob', 25]
data_dict = dict(zip(keys, values))