Python 怎么将列表类字典组字符串转换为列表? 20

有如下一组字符串,[{"id":100220748688221696701923815,"ts":1614576522050,"tradeId":7500734,"amo... 有如下一组字符串,
[{"id":100220748688221696701923815,"ts":1614576522050,"tradeId":7500734,"amount":1152.43,"price":0.01852,"direction":"sell"}]

怎么将他转换成字典类列表,或者其他方法,我需要直接读取ID TS tradeID 项目
注意 最后一项direction 项目不像其他的没有冒号
展开
 我来答
匿名用户
2021-03-01
展开全部
如果是你发的那一串肯定是可以用json loads的,如果不能,发下原文字符串。
更多追问追答
追问

字符串如下,因为字数限制,我附件了图片分别是EVAL 和JSON.LOADS的报错

[{"id":100569603575223726729043332,"ts":1614588720703,"tradeId":3853176,"amount":8.69,"price":19.6403,"direction":CCR}]

追答
我就说嘛,这个是为最后的CCR需要特殊处理的,要在字符串中加入引号才能用jsonloads
hb丰收
2021-03-01 · TA获得超过592个赞
知道小有建树答主
回答量:2971
采纳率:42%
帮助的人:210万
展开全部

list1=[{"id":100220748688221696701923815,"ts":1614576522050,"tradeId":7500734,"amount":1152.43,"price":0.01852,"direction":"sell"}]
list_new=[]
d=list1[0]
print(d)
for key in d:
list_new.append(key)
list_new.append(d[key])
print(list_new)

追问
可能有一些没说清楚,字符串是通过
compressData = ws.recv()
result = gzip.decompress(compressData).decode('utf-8')
解析出来,通过查找截取字符后生成
[{"id":100220748688221696701923815,"ts":1614576522050,"tradeId":7500734,"amount":1152.43,"price":0.01852,"direction":"sell"}] 列表样的字符串
我用了json.loads 和EVAL 但是都不能变成list,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人生苦短就用python
2021-03-03 · python就是你余生必备的工具
人生苦短就用python
采纳数:362 获赞数:11504

向TA提问 私信TA
展开全部

不知理解得对不对,你看看:

test = [
[{'id':11,
'ts':12,
'tradeId':13,
'amount':14,
'price':15,
'direction':'1'
}],
[{'id':21,
'ts':22,
'tradeId':23,
'amount':24,
'price':25,
'direction':'2'
}],
[{'id':31,
'ts':32,
'tradeId':33,
'amount':34,
'price':35,
'direction':'3'
}],
]
result = {'id':[],'ts':[],'tradeId':[],'amount':[],'price':[],'direction':[]}

for row in test:
for sub_row in row:
result['id'].append(sub_row['id'])
result['ts'].append(sub_row['ts'])
result['tradeId'].append(sub_row['tradeId'])
result['amount'].append(sub_row['amount'])
result['price'].append(sub_row['price'])
result['direction'].append(sub_row['direction'])

由于太复杂的功能不会用列表推导式,所以就做成循环了,即最后是一个字典,字典中的值是列表:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式