Django查询给出了我的输出格式,但我想要格式
data=`[{'total': 1744, 'name: u'x'}, {'total': 13, 'name': u'm'}, {'total': 126, 'role': name'n'}]`
m=[]
for i in data:
m.append(i.values())
打印m 它给我输出
[[1744,u'x'], [13,u'm'], [126,u'n']]
但我需要输出 如何从输出中删除unicode符号
[['x',1744], ['m',13], ['n',126]]
怎么做?
提前致谢
答案 0 :(得分:4)
试试这个:
>>> import json
>>> data=[{'total': 1744, 'name': u'x'}, {'total': 13, 'name': u'm'}, {'total': 126, 'name': u'n'}]
>>> json.dumps([i.values()[::-1] for i in data])
'[["x", 1744], ["m", 13], ["n", 126]]'
>>>
答案 1 :(得分:0)
你不能依赖字典中的键的顺序(例如i.values()
中的值的顺序),所以你最好的选择就是这样写:
m = []
for i in date:
m.append([i['name'], i['total']])
注意:你也想要迭代date
,而不是m
,在这个例子中它将是空的。在我的代码中进行了更正。
答案 2 :(得分:0)
使用str()
。
>>> def byte_string(x):
... return str(x) if isinstance(x, unicode) else x
...
>>> [[byte_string(x) for x in row] for row in d]
[[1744, 'x'], [13, 'm'], [126, 'n']]
请注意,如果您的数据包含非ascii字符串,此代码将会爆炸。
答案 3 :(得分:0)
我使用str(jsonVal)来解决这个问题。删除了使用后期处理的要求。