按键值对 JSON 数据进行排序

2024-04-01

我目前正在从 discogs API(mp3 标签数据)获取 JSON 数据,并希望按键值对结果进行排序。在本例中,我试图获取 Guns n Roses 歌曲的数据,输出的第一首歌曲为 1988 年,而数据实际上有 1987 年的记录。我如何对这些数据进行排序,以便我可以通过以下方式获取排序后的数据年(从最旧到最新)。下面的代码按键或值排序,但这不是我想要得到的。请帮忙。

import json
import urllib2
request = urllib2.Request('http://api.discogs.com/database/search?sort=year&sort_order=asc&artist=%22Guns+N%27+Roses%22&track=%22Sweet+Child+O%27+Mine%22&format_exact=Album&type=master')
request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
request.add_header('Content-Type','application/json')
response = urllib2.urlopen(request)
json_raw= response.readlines()
json_object = json.loads(json_raw[0])



for row in json_object['results']:
    try:
        from operator import itemgetter
        for k, v in sorted(row.items(), key=itemgetter(0)):
            print k, v
    except KeyError: 
        pass

您可以使用列表理解和sorted()为此功能:

# filter  json_object['results']  first, as some of the items are missing the key 'year'

In [33]: results = [x for x in json_object['results'] if 'year' in x]

In [34]: sorted(results, key=lambda x: x['year'])

or :

In [79]: from operator import itemgetter

In [80]: sorted(results, key=itemgetter('year'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按键值对 JSON 数据进行排序 的相关文章

  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 仅在平板电脑上支持 Android N+ 分屏

    有没有办法仅在足够大的屏幕上配置对活动的多窗口支持 例如药片 https developer android com preview features multi window html configuring https develope
  • SQL Server INNER JOIN 具有多个关系的多个内连接

    我有以下查询 它工作得很好 但我需要从另一个名为 FB 的表中提取 BUserName 该表具有与 FU 表中的 UserID 相关的 UserID 字段 这可能吗 SELECT TOP 100 FF XID FF YID FF Title
  • MvcSiteMap 生成菜单而不弄乱面包屑

    我正在配置我的 asp net mvc 5 应用程序以使用 MvcSiteMap 库 到目前为止 我可以成功配置面包屑 然而 菜单模板比面包屑要复杂得多 我有小胡子版本的菜单 我没有显示 ul 标签
  • .h 文件中应包含哪些内容?

    将代码分成多个文件时 究竟应该将哪些内容放入 h文件以及应该放入的内容 cpp file 头文件 h 旨在提供多个文件中所需的信息 类声明 函数原型和枚举等内容通常位于头文件中 一句话 定义 代码文件 cpp 旨在提供只需要在一个文件中了解
  • Gradle - FatJar - 无法找到或加载主类

    我知道这个问题被问了很多并且有很多答案 但我仍然明白 但我不明白为什么 我正在尝试生成一个 jar来自与 gradle 具有依赖关系的项目 我有课src main java Launcher java 其中我有我的main method 有
  • python 中是否可以从子线程中杀死父线程?

    我在 Windows 上使用 Python 3 5 2 我想运行一个 python 脚本 但保证它不会花费超过N秒 如果它does采取超过N秒 应该引发异常 并且程序应该退出 最初我以为我可以在开始时启动一个线程来等待N抛出异常之前的秒数
  • 如何从角度4中的url获取参数?

    我正在尝试从 URL 获取开始日期 网址看起来像http sitename booking startdate 28 08 2017 我的代码如下 aap module ts import NgModule declarations App
  • Maven 无法找到 AEM 原型

    我已经开始解决这个问题很长时间了 我正在处理 Adob e wknd 项目 但我无法通过这个命令 并且大部分工作都是基于它构建的 mvn archetype generate DarchetypeGroupId com adobe gran
  • Google+ 登录在 Android 片段上无法正常工作

    我正在使用 google 登录我的应用程序 当我使用活动完成它的工作魅力之后 我将代码移动到片段中 之后当我尝试登录 google 时 它不起作用 我必须打开片段活动2 次登录 google 谁能告诉我发生了什么代码片段添加在下面 publ
  • Rails 的问题 has_many 关系

    我正在编写一个应用程序 用户既可以创建自己的页面供人们发帖 也可以关注用户创建的页面上的帖子 这是我目前的模型关系的样子 class User lt ActiveRecord Base has many pages has many pos
  • Java 编译时未在源代码中获取该文件

    最近我遇到了一个 Java 问题 我尝试了在网上找到的一些方法 但没有成功 所以我需要帮助 我在 Eclipse 中有一个 Java 项目 我的主要课程是在src programCode UI Main2 java 在那里面 java我尝试
  • 如何优雅地处理Spring Security中未由ControllerAdvice处理的异常?

    我最近在我的 Spring 4 Hibernate Web 应用程序中实现了 Spring Security 来处理登录 注销和不同的用户角色 经过大量阅读后 它现在看起来工作得很好 但我注意到由于错误的 Spring Security 配
  • 锁定用户位置的 Google 地图

    我希望我的应用程序中的谷歌地图始终以用户为中心 并随着他们当前位置的变化而移动 想想 pokemon go 地图实际上是如何随着用户移动的 我当前的最佳实现只是在每次位置更改时用动画更新相机位置 如下所示 update the locati
  • 为什么 parseInt("014") 结果是 12? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript parseInt 八进制错误的解决方法 https stackoverflow com questions 850341 workarounds for javascript p
  • 如何使用 Flex 更新 MySql 数据库

    刚刚开始使用 Flex 进行开发 我喜欢它 我已经做了一些简单的应用程序来感受它 没有涉及更新文件或数据库 我需要帮助 如何从 Flex 应用程序 将在 Web 服务器中运行 对 MySql DB 进行查询 我没有看到任何重复的问题 抱歉
  • 当视频在视口中时自动播放 flowplayer 视频

    当视频位于视口中时 是否有任何已知的自动播放视频的方法 我使用以下函数来确定元素何时位于视口中 var isScrolledIntoView function elem get the position of the viewport va
  • BeforeClose VBA 事件在 Cancel = True 时关闭工作簿

    我正在尝试编写一个简短的宏 以防止 Excel 工作簿的用户在不保护第一张工作表的情况下关闭工作簿 该代码显示消息框 但随后继续关闭工作簿 根据我的理解 如果 取消 参数设置为 True 则工作簿不应关闭 Private Sub Workb
  • 如何从填充 datetime.time 值的系列中提取小时、分钟和秒

    Data 0 09 30 38 1 13 40 27 2 18 05 24 3 04 58 08 4 09 00 09 本质上我想做的就是将其分成三列 小时 分钟 秒 我已经尝试过以下代码 但似乎没有一个起作用 train sample t
  • Rails 4 - 通过 link_to 传递参数?

    我有一个表单 根据用户单击哪个链接来显示表单 我希望将不同的隐藏参数传递到记录并在提交时保存 有没有一个好的方法来做到这一点 提前致谢 例如 gt set request project true gt set request admin
  • 按键值对 JSON 数据进行排序

    我目前正在从 discogs API mp3 标签数据 获取 JSON 数据 并希望按键值对结果进行排序 在本例中 我试图获取 Guns n Roses 歌曲的数据 输出的第一首歌曲为 1988 年 而数据实际上有 1987 年的记录 我如