2016-04-28 4 views
0

Ich benutze die Python-API (sodapy), um Daten von https://dev.socrata.com/foundry/data.energystar.gov/ebvx-pb7r zu erhalten. Wie bekomme ich alle auf dieser Seite angezeigten Felder durch die API? Insbesondere brauche ich das Feld additional_model_information, obwohl ich denke, dass es andere geben wird. Ich habe versucht:Versuchen, alle Felder in einem Socrata Python-API-Aufruf zu erhalten

  1. "where additional_model_information ist nicht null": das Feld ist enthalten, aber ich möchte auch die Zeilen, die null haben.
  2. „ 'additional_model_information' = Wählen Sie das Feld zurückgegeben wird, aber sonst nichts.
  3. "select = *" fügt keine Felder.
  4. "where = 'additional_model_information ist nicht null oder additional_model_information null'" Diese scheint funktionieren.
  5. „= Liste auswählen alle Felder“ funktionieren sollte, scheint aber unhandlich.
  6. 2 Anrufe machen konnte, zu einer der * Daten zu erhalten und eine zweite andere Felder zu erhalten.

I Ich vermute, dass ich etwas vermisse s geschätzt.

import pprint 
import sodapy 

client = sodapy.Socrata(domain='data.energystar.gov', app_token=None) 
rows = client.get('ebvx-pb7r', where='additional_model_information is not null or additional_model_information is null') 
for row in rows: 
    pprint.pprint(row) 

Antwort

0

Wenn Sie nur ganz den where Parameter weglassen, werden Sie eine ungefilterte Version des Datensatzes, die es klingt wie das, was Sie wollen. Sie werden auch sicherstellen, die limit Parameter einschließen möchten Sie alle Datensätze zu erhalten, da die Gesamtzahl 1058 ist, die als die Standardseitengröße von 1000 größer ist:

import pprint 
import sodapy 

client = sodapy.Socrata(domain='data.energystar.gov', app_token=None) 
rows = client.get('ebvx-pb7r', limit=5000) 
for row in rows: 
    pprint.pprint(row) 

ich Teil der denken Verwirrung kann von der Tatsache herrühren, dass, wenn es keinen Wert für additional_model_information für einen gegebenen Datensatz gibt, das JSON-Objekt, das wir zurückgeben, dieses Feld weglassen wird.

+0

Danke. Daher wird jedes Feld, das in der Datenbank null ist, nicht in den json-Ergebnissen für diese Zeile enthalten sein. –

Verwandte Themen