SOQL Socrata 查询之间的日期时间

SOQL Socrata query datetime between

我可以知道我下面的代码有什么问题吗?我想查询 date_occ 在 '2015-01-10T12:00:00' 和 '2015-12-31T24:00:00'

之间的所有位置
response  = requests.get('https://data.lacity.org/api/id/7fvc-faax.json?$select=*&$where = date_occ between 2015-01-10T12:00:00 and 2015-12-131T24:00:00')

我收到以下错误: 无法识别的参数 [$where ]

我发现以下方法也不起作用

response  = requests.get('https://data.lacity.org/api/id/7fvc-faax.json?$select=*&vict_age >20')
data = response.json()
data = json_normalize(data)
data = pd.DataFrame(data)

但这行得通:

response  = requests.get('https://data.lacity.org/api/id/7fvc-faax.json?$select=*&vict_sex=M')

我在这里错过了什么?

这一期有几个问题和答案。首先从您的第二个查询开始;你要看年龄在20岁以上的地方。查看元数据(单击向下箭头),受害者年龄不是数字,而是一个文本字符串。因此,您将无法使用大于、小于等运算符。但是,您可以查找 "equal to"。下面的查询将起作用:

https://data.lacity.org/resource/7fvc-faax.json?$where=vict_age = '20'

注意:我已经放弃了 $select,我只是使用 $where 来简化显示。

您的第三个示例有效,因为您已将其设置为查询文本字段。如果您希望 LA 将其更改为数字,请单击省略号按钮下的 "Contact Dataset Owner"。

你关于日期的第一个问题有一些变化。首先,您的单引号没有对齐,有些丢失了。第二,后一个日期是2015-12-131T24:00:00,有一个无效的日期。最后,门户上的数据没有时间戳,所以只需要年月日。这将起作用:

https://data.lacity.org/resource/7fvc-faax.json?$where=date_occ between '2015-01-10' and '2015-12-13'

最后,我建议您使用URL结构,https://data.lacity.org/resource/7fvc-faax.json?而不是/api/id/。前者是基于 Socrata 的 API 的正确 URL 结构。