在 Socrata 请求中使用 python 列表

Use a python list in a Socrata Request

我已使用 Socrata 连接到 public 数据集。 由于这个数据集非常大,我想在.get语句中使用where语句来过滤掉某些记录。

我只想导入在我的 SQL 数据库中有匹配记录的记录。我已经创建了这些 ID 的 Python 列表。

我想运行像下面这样的东西,但是这个语法无效。

result = client.get(socrata_dataset_id , where ='id in id_list')

是否可以在 client.get 语句中使用 python list 作为过滤器,或者有更好的方法吗?

where 需要一个字符串。您可以执行如下操作,它不是很优化,但您明白了。

ids = [1, 2, 3, 4]
ids_str = "id in ("
for i in ids:
    ids_str += f"\'{str(i)}\',"
ids_str = ids_str[:-1]
ids_str += ")"
print(ids_str)

result = client.get(socrata_dataset_id , where = ids_str)

版画

id in ('1','2','3','4')