Как перебрать данные JSON с помощью python, вывести набор данных для каждого словаря и увеличить порядковый номер, который сбрасывается при каждом выводе?

В настоящее время Firebase не выполняет какого-либо контроля над версиями, поэтому automatic игнорирование файлов, которые не были изменены / тронуты, не является вариантом. Тем не менее, в firebase.json можно указать файлы для игнорирования в секции .ignore.

Я искал дополнительную опцию вручную для указания в командной строке при выполнении firebase deploy, но выполнение его в файле firebase.json, вероятно, имеет больше смысла, если известно, что файл не был изменен или не нуждается в повторном развертывании.

https://www.firebase.com/ docs / hosting / guide / deploying.html

Из документов:

игнорировать

"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
]

дополнительно - параметр игнорирования является необязательным параметр с v1.0.1 инструментов firebase, который указывает файлы для игнорирования при развертывании. Он может принимать определения glob так же, как Git обрабатывает .gitignore.

0
задан Micah 27 June 2019 в 14:20
поделиться

1 ответ

На всякий случай, если кто-то смотрит на это и хочет знать, как это сделать, я заставил это работать, и это код

conn = httplib.HTTPSConnection('buddypunch.azure-api.net')
conn.request("GET", "/timecard/GetByPayPeriod/525117?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
tcdata = json.loads(data)

timecard_list = []
for timecard in tcdata:
    tcid = str(timecard['Id'])
    timecard_list.append(tcid)


for key in timecard_list:
    tcurl = ("/time/timecard/" + key + "?%s")
    conn = httplib.HTTPSConnection('buddypunch.azure-api.net')
    conn.request("GET", tcurl % params, "{body}", headers)
    response = conn.getresponse()
    tcldata = response.read()
    parsed = json.loads(tcldata)
    timepunches_dict = parsed

    curr_date = None
    for punch in timepunches_dict:
        j = 1 if curr_date != punch['PunchInDateTime'][1:10] else j + 1

        emp_id = punch['Employee']['EmployeeId']
        emp_name = punch['Employee']['FullName']
        curr_date = punch['PunchInDateTime'][1:10]
        punch_in_sql = punch['PunchInDateTime'].replace('T', ' ')
        punch_out_sql = punch['PunchOutDateTime'].replace('T', ' ')

        if today in punch_in_sql:
            if j == 1:
            # ONLY RUN FOR FIRST ITERATION 
                print(emp_id, today, emp_name)

        # RUN FOR ALL ITERATIONS
            print(emp_id, today, j, punch_in_sql, punch_out_sql)

conn.close()

Откровенный доступ к данным из словаря таймкарт был проблемой, поэтому я просто составил список и добавил отдельные tcid, а затем просто перебрал этот список, чтобы получить данные из API. Кроме того, вместо того, чтобы пытаться запустить функцию, я просто сделал ее циклом for в существующем цикле, и это привело к решению проблем, дающих точный результат, который я ожидал:

(u'080099', '2019-06-19', u'Nicholas ****')
(u'080099', '2019-06-19', 1, u'2019-06-19 07:49:00', u'2019-06-19 14:49:00')
(u'080100', '2019-06-19', u'Test MBS')
(u'080100', '2019-06-19', 1, u'2019-06-19 09:49:00', u'2019-06-19 14:49:00')
(u'080097', '2019-06-19', u'Peter Quill')
(u'080097', '2019-06-19', 1, u'2019-06-19 08:00:00', u'2019-06-19 09:16:00')
(u'080097', '2019-06-19', 2, u'2019-06-19 13:43:00', u'2019-06-19 16:43:00')
(u'080097', '2019-06-19', 3, u'2019-06-19 17:21:00', u'2019-06-19 21:21:00')
(u'080098', '2019-06-19', u'Kelly ****')
(u'080098', '2019-06-19', 1, u'2019-06-19 00:00:00', u'2019-06-19 04:27:06.677')
(u'080098', '2019-06-19', 2, u'2019-06-19 07:13:32.12', u'2019-06-19 12:13:00')
0
ответ дан Micah 27 June 2019 в 14:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: