Как получить указанное количество c строк, содержащих дневные значения, в массиве в python 3? - PullRequest
0 голосов
/ 19 марта 2020

Мне нужно получить строки с данными за месяц через массив, в котором есть все данные за целый год. Месяц составляется числом, 28/29/30 или 31 днем, для 24 часов и от 1 до 6 значений в час. Например:

*[    91 190101    100    183     29    187      0      0      0]
[    91 190101    200    245     50    256      0      0      0]
...
[    91 190131   2200    291     57    286      0      0      0]
[    91 190131   2300    294     37    221      0      0      0]
[    91 190201   2400    200     23    133      0      0      0]
[    91 190201    100    107     22     98      0      0      0]
etc*

Сначала я прохожу через массив кулаков, который содержит значения за целый год для каждой строки. Я попытался проверить, если 2-я позиция (дата, YYMMDD) сделана с "01" (таким образом, первый день) и если третья позиция (час) равна "100" (таким образом, первый час). Тогда, пока месяц остается тем же самым (поэтому здесь месяц "01"), мы берем строку и помещаем ее в массив. В конце времени ie l oop я добавляю 1 к месяцу, чтобы мы могли работать на следующий месяц и т.д. c. В конце мы вызываем функцию, которая будет копировать массив со значениями месяца в указанном c файле. Вот мой код:

def splitMois(self):
    index_tab_mois = 0
    i = 0
    for line in self.data_int:
        print(line)
        date = str(self.data_int[i][1])
        print(date)
        day = date[4:]
        print("jour " + day)
        hour = self.data_int[i][2]
        print(hour)
        month = str(self.data_int[i][1])[2:4]
        if str(day) == "01" and str(hour) == "100":
            while month == month:
                print(month + " mois")
                self.tab_mois.append(line + "\n")
                index_tab_mois += 1
            print(self.tab_mois)
        month = (self.data_int[line][1])[2:3]
         i += 1
    self.insert_repertoire()

Этот код сделал бесконечным l oop, который печатает месяц. Отправьте помощь, пожалуйста.

...