0

Unten ist mein Code, der Daten erfasst und die Daten in eine CSV-Datei konvertiert (das funktioniert). Ich versuche, mich nur auf die Daten zu konzentrieren, die für das aktuelle Datum zurückgegeben werden.Wie Sie Daten für das aktuelle Datum erhalten - Python

Könnte jemand mir zeigen, wie das gemacht wird bitte, DTDT ist das Datum. Mein Code:

from elasticsearch import Elasticsearch 
import csv 

es = Elasticsearch(["9200"]) 

# Replace the following Query with your own Elastic Search Query 
res = es.search(index="search", body= 
       { 
        "_source": ["DTDT", "TRDT", "SPLE", "RPLE"], 
        "query": { 
         "bool": { 
          "should": [ 
           {"wildcard": {"CN": "TEST*"}} 

          ] 
         } 
        } 
}, size=10) 



header_names = { 'DTDT': 'DATE', 'TRDT': 'TIME', ...} 

with open('mycsvfile.csv', 'w') as f: # Just use 'w' mode in 3.x 
    header_present = False 
    for doc in res['hits']['hits']: 
     my_dict = doc['_source'] 
     if not header_present: 
      w = csv.DictWriter(f, my_dict.keys()) 
      w.writerow(header_names) # will write DATE, TIME, ... in correct place 
      header_present = True 


     w.writerow(my_dict) 

Zum Beispiel möchte ich nur, um die Daten von Mitternacht bis 2.00 Uhr Rückkehr (das aktuelle Datum verwendet wird).

Antwort

0

Sie können dies mit einem Bereichsfilter:

{ 
    "_source": [ 
    "DTDT", 
    "TRDT", 
    "SPLE", 
    "RPLE" 
    ], 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "wildcard": { 
      "CN": "TEST*" 
      } 
     } 
     ], 
     "must": [ 
     { 
      "range": { 
      "DTDT": { 
       "gte": "now/d", 
       "lte": "now+1d/d" 
      } 
      } 
     } 
     ] 
    } 
    } 
} 

* Herausgegeben zu aktuellen Kalendertag mit Rundung reicht, anstatt die letzten 24 Stunden.

+0

Hallo Mike, es ist jetzt nur greifen Daten für das aktuelle Datum, das ist gut, aber die Wildcard funktioniert nicht mehr. Es greift alle Benutzer auf, nicht nur die Benutzer, die in ihrem Namen getestet haben. – Rich

Verwandte Themen