У меня есть список отметок времени в этом формате:
2018-23-01
Я генерирую метки времени с августа по октябрь каждые пять минут. Это поколение делается автоматически.
У меня есть список файлов .bz2 формата, которые я перехватил и должен быть обработан, некоторые файлы отсутствуют и не содержат данных, мне нужно поместить соответствующую строку, чтобы она была пустой в рамке panda.
Например, у меня есть Sensor1, Sensor2, Sensor3. Метки времени превышают значения Sensor1.
Я пытаюсь добавить к фрейму данных, я получаю следующую ошибку.
ValueError: Length of values does not match length of index
Вот как я обрабатываю файлы
hours_counter = 0
minutes_counter = 0
days_counter = 0
for j in range(90):
days_counter = days_counter + 1
if days_counter > 23:
days_counter = 0
for i in range(360):
minutes_counter = minutes_counter + 15
if minutes_counter == 45:
minutes_counter = 0
hours_counter = hours_counter + 1
s = datetime.strptime('2018-08-21', '%Y-%m-%d') + timedelta(hours=hours_counter, minutes=minutes_counter, days= days_counter)
timeStamps.append(s)
path = os.path.join(r'C:\\ahmed\\SpeedFT-meter1\\peakdata\\'+ s.strftime("%Y-%m-%d")+ r'\\peakdata_' + s.strftime("%Y%m%d_%H%M") + r'.bz2')
print(path)
directoary_names.append(path)
for idx in range(len(directoary_names)):
process_data(directoary_names[idx], i, directoary_names)
i = i + 1
Запись в файл Excel, что приводит к исключению ТОЛЬКО для данных датчика, отметки времени в порядке
general_pd['TimeStamp'] = timeStamps
general_pd['C_strain_COY'] = S1
general_pd['C_strain_CUY'] = S3
general_pd['C_strain_ROX'] = S4
general_pd['C_strain_CUX'] = S5
general_pd['C_strain_CMX'] = S6
general_pd['C_strain_COX'] = S7
general_pd['C_temp_CUY'] = T1
general_pd['C_temp_COY'] = T2
general_pd['C_temp_CUX'] = T3
general_pd['C_temp_CMX'] = T4
general_pd['C_temp_COX'] = T5
writer = pd.ExcelWriter(r'c:\ahmed\median_data_meter_1.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
general_pd.to_excel(writer, sheet_name='Sheet1')