У меня есть два файла Excel.Один с данными, полученными машиной, с каждой строкой имеет множество данных от датчика.
Time S1 S2 S3
2019-01-04 05:00:20 -0,068576396 -0,081597209 0,328993082
2019-01-04 05:00:50 -0,071180522 -0,079861104 0,353298664
2019-01-04 05:01:20 -0,073784709 -0,081597209 0,391493082
...
Второй содержит данные, полученные между двумя временными метками:
From To product
2019-01-04 04:00:00 2019-01-09 08:00:00 T2887_001
2019-01-04 08:00:00 2019-01-09 12:15:00 T2887_002
2019-01-04 12:15:00 2019-01-09 14:00:00 T2887_003
...
Нет связи между, нометки времени.
Что мне нужно: в первом файле Excel мне нужен дополнительный столбец.Это значения должны быть произведенным номером продукта на основе начальных и конечных значений второго файла.
Если честно, я новичок в пандах, но я прочитал основы и не смог найти свой ответ.
Я загружаю Excel в DF и сохраняю обратно.В df, когда я проверяю его, все необходимые типы данных столбцов являются метками времени, однако, когда я сохраняю их как excel и с openpyxl, я загружаю в python3 один из типов данных столбцов - float.Я не уверен почему.Я попытался перебрать два файла, чтобы получить мои данные.
import openpyxl
wb = openpyxl.load_workbook('Szárítás összes januar_P.xlsx')
sheet_1 = wb['Sheet1']
wb_gy = openpyxl.load_workbook('Gyártások teszt_P.xlsx')
sheet_gy = wb['Sheet1']
s_gy = 2
while sheet_gy.cell(row=s_gy,column=1).value != None:
s = 2
while sheet_1.cell(row=s,column=1).value != None:
if sheet_1.cell(row=s,column=2).value > sheet_gy.cell(row=s_gy,column=6).value and sheet_1.cell(row=s,column=2).value < sheet_gy.cell(row=s_gy,column=7).value :
sheet_1.cell(row=s,column=16).value = sheet_gy.cell(row=s_gy,column=9).value
s += 1
s_gy += 1
Ошибка:
Traceback (most recent call last):
File "C:\Users\p_jozsi\Desktop\Python\Dipa\Gyártás azonositok kiosztasa\gyartasok.py", line 15, in <module>
if sheet_1.cell(row=s,column=2).value > sheet_gy.cell(row=s_gy,column=6).value and sheet_1.cell(row=s,column=2).value < sheet_gy.cell(row=s_gy,column=7).value :
TypeError: '>' not supported between instances of 'datetime.datetime' and 'float'
Я бы хотел что-то вроде этого:
Time S1 S2 S3 product
2019-01-04 05:00:20 -0,068576396 -0,081597209 0,328993082 T2887_001
2019-01-04 05:00:50 -0,071180522 -0,079861104 0,353298664 T2887_001
2019-01-04 05:01:20 -0,073784709 -0,081597209 0,391493082 T2887_001
...
Я очень ценю всю помощь.
Йожеф