Python Socrata API - Невозможно манипулировать плавающими метками времени - PullRequest
0 голосов
/ 28 сентября 2019

Я новичок в программировании на Python, поэтому извиняюсь за возможные вопросы новичка.Я пытаюсь отфильтровать типы данных с плавающей меткой времени в API Socrata округа Марин.Я использую основную схему, которую они предоставили здесь: https://dev.socrata.com/foundry/data.marincounty.org/mkbn-caye #! / Usr / bin / env python

# make sure to install these packages before running:
# pip install pandas
# pip install sodapy

import pandas as pd
from sodapy import Socrata

# Unauthenticated client only works with public data sets. Note 'None'
# in place of application token, and no username or password:
client = Socrata("data.marincounty.org", None)

# Example authenticated client (needed for non-public datasets):
# client = Socrata(data.marincounty.org,
#                  MyAppToken,
#                  userame="user@example.com",
#                  password="AFakePassword")

# First 2000 results, returned as JSON from API / converted to Python list of
# dictionaries by sodapy.
results = client.get("mkbn-caye", limit=2000)

# Convert to pandas DataFrame
results_df = pd.DataFrame.from_records(results)

Я пытаюсь проверить связь с базой данных, чтобы получить информацию о приложениях разрешений, которые имеютбыли отправлены в течение последней недели (имеют «дата_получения»), но еще не получили разрешение (не имеют «выдано_дата»).Я хотел бы запускать код каждую неделю, чтобы получать обновления.

Я начал работать с приведенным ниже кодом, и он работает: импорт панд как pd из sodapy import Socrata client = Socrata ("data.marincounty.org", MyAppToken ) results = client.get (" mkbn-caye ", receive_date = '2019-09-25T13: 50: 27.000') results_df = pd.DataFrame.from_records (results) print (results_df)# печатает DataFrame

Однако, если я сделаю одно небольшое изменение от оператора "=" к оператору ">":

results = client.get("mkbn-caye", received_date > '2019-09-25T13:50:27.000')

, я получу следующий код ошибки:

results = client.get("mkbn-caye", received_date > '2019-09-25T13:50:27.000')

NameError: имя «Receive_date» не определено

Как «Receive_date» не определено, когда оно работает нормально с оператором «=»?

Как я уже упоминал ранее, в конце концов, я бы хотел кое-что сделать в следующей работе, но делать маленькие шаги для ребенка

received_date > 'One Week Ago'\    #The date would be 1 week ago
issued_date IS NULL                # This doesn't work either. I want entries that have no "issued_date" field yet

Я пытаюсь использовать руководящие указания здесь: https://dev.socrata.com/foundry/data.marincounty.org/mkbn-caye для работыс «плавающими метками времени DataTypes».Какие-либо предложения?

1 Ответ

0 голосов
/ 29 сентября 2019

Это было что-то простое.Просто нужна другая пара "".

results = client.get("mkbn-caye", \
                 where="received_date > '2019-09-25T13:50:27.000'")
...