1

У меня есть скрипт Python, который собирает кучу данных. В конце он печатает собранные данные в электронную таблицу Excel. Один из моих столбцов отображает "прошедшее время" в виде минут: секунд. Мой скрипт на python уже дал всему столбцу "Пользовательский" числовой формат mm:ss и предоставляет все данные в такой форме.

По какой-то причине, похоже, я не могу заставить какие-либо функции работать с этими данными, если не зайду в ячейку и не нажму Enter. Теперь включаем "Показать формулы". Я вижу, что ячейка - это вообще не время для Excel, а десятичное число, и я не могу понять, откуда она это получает. После нажатия ввода и получения десятичной дроби функции работают с данными.

Я, наверное, здесь тупой ... но может кто-нибудь сказать мне, как Excel преобразует 1:49 (1 минута:49 секунд) в 0.075694444444? Я также вижу, что после нажатия Enter в ячейке происходит преобразование 1:49 в 1:49:00 AM , что неприменимо к моей ситуации.

Мне очень жаль, если я плохо сформулировал это. Любые мысли / идеи приветствуются.

Спасибо!

3 ответа3

2

Вы также можете подумать о том, чтобы поместить функцию времени в ячейки Excel, чтобы убедиться, что она работает правильно.

Вместо ввода 01:49 или 00:01:49 вставьте = время (0,1,49), и оно гарантированно будет обрабатываться как время, а не как строка (все равно отформатируйте его как мм: сс для правильного отображения),

Или же рассчитайте десятичное время в вашем скрипте и поместите его в ячейку.

1/24/60 + 49/24/60/60 = 1 минута 49 секунд.

В зависимости от того, как у вас хранится время в переменной, это может привести к необходимости разбора данных, но может обойти вашу проблему вещей, поступающих в виде строки.

0

Чтобы быть в безопасности, ваш скрипт Python должен начинаться с «00:» для ЧАСОВ, и у вас, вероятно, будет меньше проблем с тем, чтобы Excel понял.

Первоначально он будет отображаться как «12:01:49 AM» для «00:01:49», но все, что вам нужно сделать, это изменить формат отображения для него.
Как: нажмите и удерживайте клавишу CTRL и нажмите 1, затем найдите и нажмите "Время" (или это дата в Excel?) а затем подходящий формат. Как обычно, вы можете сделать это для всего столбца или строки за один раз.

В качестве значения для даты и времени в Excel используется значение в течение 24 часов (введите 1,0 в любой ячейке, отформатируйте ее как Время / Дата, чтобы проверить это).

0

У меня были похожие проблемы в прошлом. Объяснение Ханну и выбор хороши. Другое решение: попробуйте отформатировать ячейку как текст, прежде чем заполнять ее, сохраните электронную таблицу, а затем заполните значения, отформатированные как текст. Не красиво, но практично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .