2016-07-21 13 views
0

Ich versuche, mehrere Dateien mit "Mike's Pies" zu analysieren, wie Sie in dem Code unten sehen können. Ich habe es geschrieben, wo ich die gewünschte Ausgabe zu erhalten, jetzt würde Ich mag die alle Dateien „des Pies Mike“Mehrere .json-Dateien analysieren

import json 
import sys 
import glob 

with open("Mike's Pies.20130201.json") as json_data: 
    data = json.load(json_data) 
#Keep all orders with variable of r 
    for r in data ["orders"]: 

     orderName = r["orderPlacer"]["name"] 
     #Print with address to acquire the housenumber/street/city/state 
     address = r["address"]["houseNumber"] 
     street = r["address"]["street"] 
     city = r["address"]["city"] 
     state = r["address"]["state"] 
     Mikes = "Mike's Pies," 
     output = str(orderName) + ", " + str(address) + " " + str(street) +  
     " " + str(city) + " " + str(state) + ", " + Mikes + " " 



     length = len(r["pizzas"]) 
     for i in range (0,length): 
     #if length >= 1 print r["pizzas"][1]["name"] 
      #if i!=length: 
      pizza = ((r["pizzas"][i]["name"].strip("\n"))).strip(" ") 
      if(i!=length-1): 
       output += pizza + ", " 
      else: 
       output += pizza 

     print(output+"\n") 
+0

Sie meinen, Sie möchten alle Dateien mit dem Namen "Mike's Pies. *. Json" analysieren? Es handelt sich also nicht um eine JSON- oder Datenfrage, sondern nur um Dateien, die bestimmte Kriterien erfüllen. Suchen Sie os.listdir() und gehen Sie von dort aus. – Fhaab

Antwort

1

Es klingt genannt analysieren, wie Sie Code haben, der auf "Mike's Pies.20130201.json" funktioniert, und Sie ausführen möchten, dass Code auf jede Datei, die mit "Mike's Pies" beginnt und mit "Json" endet, unabhängig von dem timestamp-like Bit in der Mitte. Habe ich recht? Sie können alle übereinstimmenden Dateinamen mit glob abrufen und nacheinander analysieren.

for filename in glob.glob("Mike's Pies.*.json"): 
    with open(filename) as json_data: 
     data = json.load(json_data) 
     #etc etc... Insert rest of code here 
+0

Ja, da hatte ich Probleme, die "glob" -Funktion zu verstehen. Es funktioniert, wenn es durch alle Dateien analysiert, das Problem ist, ich versuche, herauszufinden, wie es eingerichtet wird, wo es öffnet eine TXT-Datei mit allen Informationen, die herauskommt, anstatt nur in der Konsole angezeigt wird. – QuestionGuy