ПЛ
у меня есть несколько csv в которых записаны даты и данные. Даты в формате иксель, типа 44243,43443157741
Поясню, что для икселя время считается в днях, а разделитель с дробной частью запятая. С этим всё ок, всё правильно.
Я пытаюсь из таких документов собрать сводный xlsx файл с датами.
Сделал книгу, с параметром {'strings_to_numbers': True} чтобы float числа воспринимались как числа, а не строки:
data = {}
workbook = xlsxwriter.Workbook('only_cam_reports/cam_' + time.strftime("%Y_%m_%d_%H_%M", time.localtime()) + '.xlsx', {'strings_to_numbers': True})
Я сделал шаблон формата времени:
time_format = workbook.add_format({'num_format': 'hh:mm yyyy mm dd'})
Открываю csv пандасом:
pd_stat = pandas.read_csv(datapath + '.csv', delimiter=';', header=None)
преобразую в лист:
cam_stat = pd_stat.values.tolist()
создаю страницу:
data[cam_name] = workbook.add_worksheet(cam_name)
Применяю формат:
data[cam_name].set_column('B:B', 22, time_format)
Запихиваю данные:
for row, cam_stat_line in enumerate(cam_stat):
data[cam_name].write_row(row + 1, 1, cam_stat_line)
В итоге всё равно Excel “Numbers Stored as Text”, хотя шаблон для ячеек применён