在Excel中使用Python和DataNitro转换时间

我在Excel电子表格中有一个h:m格式的列表,我试图用DataNitro做一些操作,但似乎并不像Excel格式化时间那样。

例如,在Excel中,时间8:32实际上只是格式化为8:32的十进制数字.355556。 当我用DataNitro访问那个时候,它把它看作小数,而不是string8:32。 如果我将Excel中的格式从“时间”更改为“常规”或“数字”,则会将其转换为小数(我不想)。 我发现的唯一的作品是手动通过每个单元格,并放置在每个单元前面,然后通过并将格式types更改为常规。

有没有办法将这些时间在Excel中转​​换为string,所以我可以提取与DataNitro的信息(它只能查看它为十进制)?

如果.355556(表示为8:32)在A1中,那么=HOUR(A1)&":"&MINUTE(A1)和复制/粘贴特殊值应该让你到一个string。

理想情况下,你可能不想改变excel保存数据的方式(显然取决于你的用例)。

如果是这样的情况下,有优秀的post如何在Excel中读取Excel格式的date? 这解释了如何将float转换为pythondate时间对象。 具体来说,@John Machin的脚本效果很好。

 import datetime def minimalist_xldate_as_datetime(xldate, datemode): # datemode: 0 for 1900-based, 1 for 1904-based return ( datetime.datetime(1899, 12, 30) + datetime.timedelta(days=xldate + 1462 * datemode) ) 

请注意他的免责声明:“这是裸肩无脚带使用风险版本:”我用它没有任何问题。