我想将字符串列表转换为字典列表
Posted
技术标签:
【中文标题】我想将字符串列表转换为字典列表【英文标题】:I want to convert a list of strings to a list of dictionaries 【发布时间】:2020-06-21 04:24:39 【问题描述】:我将 twitter 数据作为 json 存储到 mysql db。当我取回它时,它返回一个字符串列表而不是字典列表。我正在寻找一种方法将其转换为字典列表。这是我取回存储数据的格式。 “tweetdata”是数据库中的列名
["tweetdata":"[\"text\":\"b problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for
android\",\"Likes\":0,\"RTs\":0,]"]
我希望它返回类似这样的内容作为字典列表,其中列名被剥离
[\"text\":\"b problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for
Android\",\"Likes\":0,\"RTs\":0,]
【问题讨论】:
这看起来不像是有效的 JSON。 你有什么,你在哪里卡住了? 【参考方案1】:首先,您似乎提供了错误的 json 格式。如果您有正确的 json 格式,那么您可以使用 json 加载函数来加载 json 数据并将其转换为字典类型。这是python中的sn-p代码。
import json
json_data = '["tweetdata":[\"text\":\"b problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0]]'
parsed_json = json.loads(json_data)
parsed_dict = parsed_json[0]['tweetdata'][0]
print(type(parsed_dict))
for item in parsed_dict.items():
print(item)
上面的代码 sn-p 将打印这些。
<class 'dict'>
('text', 'b problem')
('len', 10)
('Date', 1583160242000)
('Source', 'Twitter for Android')
('Likes', 0)
('RTs', 0)
【讨论】:
【参考方案2】:试试这个:
如果您的数据在tweetdata
变量中,那么tweetdata[0]["tweetdata"]
它会像这样返回:
[\"text\":\"b problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0,]
其实你可以这样做:
data = ["tweetdata":"[\"text\":\"b problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0,]"][0]["tweetdata"]
并打印 data
你会得到相同的结果。
【讨论】:
以上是关于我想将字符串列表转换为字典列表的主要内容,如果未能解决你的问题,请参考以下文章