import datetime import sys import re # # Zuerst müssen die Zeitstempel extrahiert werden. # Sie können entweder sämtliche Zeitstempel in einem Verzeichnis (und allen Unterverzeichnissen) wie folgt einsammeln: # grep -hR '"timestamp"' | cut -f2 -d: > timestamps.txt # Oder aus einer einzelnen Datei beispiel.json mit # grep '"timestamp"' beispiel.json | cut -f2 -d: > timestamps.txt # if len(sys.argv)!=2: print("Sie müssen als zusätzliches Argument genau eine input-Datei angeben, die in jeder Zeile einen Zeitstempel hat.") print("Diese können Sie z.B. mit") print(" grep -hR '\"timestamp\"' | cut -f2 -d: > timestamps.txt") print("erzeugen und dann dieses Programm mit") print(" python timestamps2csv.py timestamps.txt") print("aufrufen.") exit(-1) filename = sys.argv[1] with open(filename) as f: lines = f.readlines() muster = re.compile("[0-9]+") zeitstempel = [] for line in lines: zahl = int(muster.search(line).group(0)) if zahl > 1000000000 and zahl< 2000000000: # Nach Sep 09 2001 und vor May 18 2033 (in s seit 1.1.70) zeitstempel.append(datetime.datetime.fromtimestamp(zahl)) if zahl > 1000000000000 and zahl< 2000000000000: # Nach Sep 09 2001 und vor May 18 2033 (in ms seit 1.1.70) zeitstempel.append(datetime.datetime.fromtimestamp(zahl/1000)) zeitstempel.sort() csv = "Zeitstempel\n" for z in zeitstempel: csv += str(z)+"\n" with open(filename+".csv", "w") as f: f.write(csv)