作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题最好的标题是“如何将字典列表转换为元组列表”,除非我不能 100% 确定这是正确的。
我正在修改我在网上找到的一个抓取工具,它使用 .fetchall() 从数据库中获取数据。
cur.execute("SELECT num, location FROM table WHERE location='My Town';")
the_query = cur.fetchall()
因此,脚本的其余部分期望 the_query
是一个元组列表,我认为意味着 the_query
看起来像这样:
[(081143282, 'My Town'),(091338218, 'My Town')] ...
我修改后的这个 scraper 版本必须从 JSON feed 中获取数据,而不是使用 fetchall 从 sqlite 数据库中获取数据。使用 demjson.decode(),我最终得到如下数据:
[{u'num': u'081143282', u'location': u'My Town'}, {u'num': u'081143282', u'location': u'My Town'}]
再次,我认为这是一个字典列表,但由于我仍在学习这些不同的结构,所以我可能是错的。
我尝试使用 .item() 和 zip(*) 将 demjson.decode() 的结果转换为元组列表,但到目前为止我无法使其工作。
有人可以指导我完成这个吗?
最佳答案
您可以迭代字典列表,并使用 values()
函数从每个字典中获取所有值,然后将它们转换为元组。
data = [{u'num': u'081143282', u'location': u'My Town'},
{u'num': u'081143282', u'location': u'My Town'}]
print [(int(currentDict["num"]), currentDict["location"]) for currentDict in data]
输出
[(81143282, u'My Town'), (81143282, u'My Town')]
关于python - 如何在Python中模拟.fetchall()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20026868/
我是一名优秀的程序员,十分优秀!