SOQL Socrata查询介于之间的日期时间



我可以知道下面的代码出了什么问题吗?我想查询date_occ在"2015-01-10T12:00.00"one_answers"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岁以上的年龄。查看元数据(单击向下箭头(,受害者年龄不是数字,而是一个文本字符串。因此,您将无法使用大于、小于等运算符。但是,您可以查找"等于"。下面的查询将起作用:

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

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

您的第三个示例可以工作,因为您已经将它设置为查询文本字段。如果您希望LA将其更改为数字,请单击省略号按钮下的"联系数据集所有者"。

你关于约会的第一个问题有一些变化。首先,您的单引号没有对齐,有些引号缺失。第二,后一个日期是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结构。

最新更新