Looping durch eine Liste von Tupeln, um eine POST-Anfrage mit jedem Tupel zu machen

Ich habe eine Liste von Tupeln hier:

import datetime import requests from operator import itemgetter original = [(datetime.datetime(2013, 11, 12, 19, 24, 50), u'78:E4:00:0C:50:DF', u' 8', u'Hon Hai Precision In', u''), (datetime.datetime(2013, 11, 12, 19, 24, 50), u'78:E4:00:0C:50:DF', u' 8', u'Hon Hai Precision In', u''), (datetime.datetime(2013, 11, 12, 19, 24, 48), u'9C:2A:70:69:81:42', u' 5', u'Hon Hai Precision In 12:', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'00:1E:4C:03:C0:66', u' 9', u'Hon Hai Precision In', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'20:C9:D0:C6:8F:15', u' 8', u'Apple', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:5D:43:90:C8:0B', u' 11', u'Intel Orate', u' MADEGOODS'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:96:7B:C1:76:90', u' 15', u'Apple', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:96:7B:C1:76:90', u' 15', u'Apple', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'04:F7:E4:A0:E1:F8', u' 32', u'Apple', u''), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'04:F7:E4:A0:E1:F8', u' 32', u'Apple', u'')] data = [x[:-2] for x in original] newData = sorted(data, key=itemgetter(0)) print newData [(datetime.datetime(2013, 11, 12, 19, 24, 47), u'00:1E:4C:03:C0:66', u' 9'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'20:C9:D0:C6:8F:15', u' 8'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:5D:43:90:C8:0B', u' 11'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:96:7B:C1:76:90', u' 15'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'68:96:7B:C1:76:90', u' 15'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'04:F7:E4:A0:E1:F8', u' 32'), (datetime.datetime(2013, 11, 12, 19, 24, 47), u'04:F7:E4:A0:E1:F8', u' 32'), (datetime.datetime(2013, 11, 12, 19, 24, 48), u'9C:2A:70:69:81:42', u' 5'), (datetime.datetime(2013, 11, 12, 19, 24, 50), u'78:E4:00:0C:50:DF', u' 8'), (datetime.datetime(2013, 11, 12, 19, 24, 50), u'78:E4:00:0C:50:DF', u' 8')] 

Das erste Element in jedem Tupel ist ein Datum / Uhrzeit, das zweite ist eine MAC-Adresse und das dritte ist eine RSSI-Stärke.

  • Bereitstellen von Google Analytics mit Django
  • Tracking auf Google Analytics von python
  • Google Analytics API erzwingt den Browser beim Authentifizieren in Python
  • Wie kann ich Google Analytics-Ereignisse aus Python auslösen?
  • Python - wie authentifizieren Sie sich bei Google Analytics von AWS Lambda?
  • Got 403 Fehler beim Herstellen einer Verbindung zu Google Analytics mit Python 2.7.x
  • Ich bin auf der Suche nach dem besten Weg, um jedes Tupel in einer POST-Anfrage das Google Mess-Protokoll, wie folgt zu senden:

     requests.post("http://www.google-analytics.com/collect", data="v=1&tid=UA-22560594-2&cid="varMACADDRESS"&t=event&ec="varDATETIME"&ea="varRSSI") 

    Die "varXXXXXX" s repräsentieren die Elemente der Tupel.

    Dies ist, was ich denke, sollte die Lösung sein, aber ich kann nicht daran denken, wie man die Elemente jedes Tupels den% s's zuordnen kann:

     for tuples [:10] in newData: requests.post("http://www.google-analytics.com/collect", data="v=1&tid=UA-22560594-2&cid="%s"&t=event&ec="%s"&ea="%s") 

    Was wäre die effizienteste und pythonischste Art, dies zu tun?

  • Python-Skript zum Kopieren von Text in die Zwischenablage
  • Auslösen eines Ereignisses, wenn sich der Inhalt der Zwischenablage ändert
  • Das Kopieren eines Bildes in die System-Zwischenablage funktioniert nicht unter Linux
  • So erhalten Sie Inhalte mit dem Format aus der Zwischenablage
  • Wie kopiere ich einen String in die Zwischenablage unter Windows mit Python?
  • Zugriff auf Text kopiert in die Zwischenablage von python
  • 2 Solutions collect form web for “Looping durch eine Liste von Tupeln, um eine POST-Anfrage mit jedem Tupel zu machen”

    Sie können die Tupel-Werte entpacken, während Sie über die Liste iterieren und das Format verwenden , um die Werte einzufügen.

     for date, mac, rssi in newData: requests.post("http://www.google-analytics.com/collect", data="v=1&tid=UA-22560594-2&cid={}&t=event&ec={}&ea={}".format( mac, date, rssi) ) 

    Nutzen Sie nur die Tatsache, dass Sie ein dict an die data kwarg angeben können und Anfragen werden die Formulierung für Sie behandeln .

     for date,mac,rssi in some_collection_of_tuples: payload = {'t':'event','v':'1','ec':date,'cid':mac,...} #etc requests.post("http://www.google-analytics.com/collect", data=payload) 
    Python ist die beste Programmiersprache der Welt.