我在Excel电子表格中有一个h:m格式的时间列表,我试图用DataNitro做一些操作,但它似乎不喜欢Excel格式化时间的方式。
例如,在Excel中,时间8:32实际上只是十进制数.355556格式化为8:32。当我使用DataNitro访问该时间时,它将其视为小数,而不是字符串8:32。如果我将Excel中的格式从Time更改为General或Number,它会将其转换为小数(我不想要这样的格式)。我发现唯一有效的方法是手动遍历每个单元格并将其放在每个单元格的前面,然后遍历并将格式类型更改为General。
有没有办法将这些时间转换成字符串,这样我就可以用DataNitro (它只将其视为小数)来提取信息?
发布于 2012-12-05 22:42:51
如果.355556 (表示为8:32)是A1格式,那么=HOUR(A1)&":"&MINUTE(A1)和Copy/Paste Special Values应该会得到一个字符串。
发布于 2013-07-12 21:11:40
理想情况下,你可能不想改变excel保存数据的方式(这显然取决于你的用例)。
如果是这样的话,有一个很好的post How do I read a date in Excel format in Python?,它解释了如何将浮点数转换为python date time对象。具体地说,@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)
)注意他的免责声明“这是裸指关节无安全带使用风险的版本:”我已经使用它没有任何问题。
https://stackoverflow.com/questions/13725567
复制相似问题