首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Excel中使用Python和DataNitro实现时间转换

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

Stack Overflow用户
提问于 2012-12-05 22:35:20
回答 2查看 482关注 0票数 1

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

例如,在Excel中,时间8:32实际上只是十进制数.355556格式化为8:32。当我使用DataNitro访问该时间时,它将其视为小数,而不是字符串8:32。如果我将Excel中的格式从Time更改为General或Number,它会将其转换为小数(我不想要这样的格式)。我发现唯一有效的方法是手动遍历每个单元格并将其放在每个单元格的前面,然后遍历并将格式类型更改为General。

有没有办法将这些时间转换成字符串,这样我就可以用DataNitro (它只将其视为小数)来提取信息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-05 22:42:51

如果.355556 (表示为8:32)是A1格式,那么=HOUR(A1)&":"&MINUTE(A1)和Copy/Paste Special Values应该会得到一个字符串。

票数 3
EN

Stack Overflow用户

发布于 2013-07-12 21:11:40

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

如果是这样的话,有一个很好的post How do I read a date in Excel format in Python?,它解释了如何将浮点数转换为python date time对象。具体地说,@John Machin编写的脚本工作得很好。

代码语言:javascript
复制
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)
        )

注意他的免责声明“这是裸指关节无安全带使用风险的版本:”我已经使用它没有任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13725567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档