我指的是question
这是我的代码
# codes for append data to csv file.
def inputappend():
name=raw_input("input name: ")
id=raw_input("input ID ")
height=raw_input("inut height: ")
length=raw_input("input length ")
with open('namelist.csv','a') as csvfile:
csvfile.write(name+','+ id+ ','+ height+ ','+ length+ ',')
csvfile.close()
这是输出
my_dictionary={}
a=[]
for i in range(1,5)
jsonstring = {id[i] : marks[i]}
a.append(jsonstring)
my_dictionary=json.dumps(a)
print(my_dictionary)
我想要
这样的字符串[{"123": [86, 0, 0, 96, 45.5]}]
答案 0 :(得分:2)
只需编码结果即可。您正在构建Python字典,将所有键添加到一个字典并对最终结果进行编码。对JSON进行编码然后再次解码并没有真正实现任何目的。
studentInfo = {}
for i in range(1,5)
studentInfo[id[i]] = marks[i]
jsonstring = json.dumps(studentInfo)
您可以使用zip()
将id
条目与marks
条目合并,而不是使用索引:
studentInfo = {}
for student_id, student_marks in zip(id, marks):
studentInfo[student_id] = student_marks
jsonstring = json.dumps(studentInfo)
更好的是,您可以直接从zip()
输出直接生成整个字典:
studentInfo = dict(zip(id, marks))
jsonstring = json.dumps(studentInfo)