我有以下代码将对象打印为CSV:
title = ['Username', 'Name', 'Job']
for x in title:
print(x, end =",")
for d in data:
line = d.get_username() + "," + d.get_name() + "," + d.get_role()
print(line)
我得到:
Username,Name,Job
rob,robert,developer
danny21,danny,developer
我想打印与 JSON 相同的数据以获得:
[
{
"Username":"rob",
"Name":"robert",
"Job":"developer"
},
{
"Username":"danny21",
"Name":"danny",
"Job":"developer"
}
]
从前面的主题中,我了解到我们可以使用json.dumps
但我不确定在这种情况下是否有帮助。 实现它的正确方法是什么?
你可以简单地做:
l = []
for d in data:
user_dictionary = {}
user_dictionary[title[0]] = d.get_username()
user_dictionary[title[1]] = d.get_name()
user_dictionary[title[2]] = d.get_role()
l.append(user_dictionary)
获取类似 JSON 的文件。
您还可以避免追加并执行以下操作:
def get_user_data(user):
user_dictionary = {}
user_dictionary[title[0]] = d.get_username()
user_dictionary[title[1]] = d.get_name()
user_dictionary[title[2]] = d.get_role()
return user_dictionary
l = list(map(get_user_data, data))
您可以使用 json.dump 在文件中转储 l
import json
with open('data.json', 'w') as outfile:
json.dump(l, outfile)