在 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')
我已使用 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')