Python 如何使用xlrd获取.xls文件的修改日期

Python 如何使用xlrd获取.xls文件的修改日期,python,excel,xlrd,Python,Excel,Xlrd,让我尝试改进这个问题,因为它对我仍然有效 我已经使用Openpyxl阅读Excel文件一段时间了。现在,我需要扩展脚本的功能,以处理Openpyxl不支持的“遗留”Excel文件。为此,我使用xlrd和xlutils 我尚未解决的一个问题是,在没有路径的情况下,如何获取.xls文件的修改日期。使用Openpyxl,我可以将其作为Workbook.properties.modified作为datetime对象。与xlrd我挣扎。解决方法是找出文件的路径(可能作为类似文件的对象输入到我的函数中)并使

让我尝试改进这个问题,因为它对我仍然有效

我已经使用Openpyxl阅读Excel文件一段时间了。现在,我需要扩展脚本的功能,以处理Openpyxl不支持的“遗留”Excel文件。为此,我使用xlrd和xlutils

我尚未解决的一个问题是,在没有路径的情况下,如何获取.xls文件的修改日期。使用Openpyxl,我可以将其作为Workbook.properties.modified作为datetime对象。与xlrd我挣扎。解决方法是找出文件的路径(可能作为类似文件的对象输入到我的函数中)并使用
os.path.getmtime
,但我不确定这是否等效


感谢您的帮助

我只是在自己寻找解决方案时偶然发现了你的帖子。好像

wb = xlrd.open_workbook(filename=fn)
wb.props.get('modified')
他做这项工作


xlrd==1.2.0

我自己在寻找解决方案时偶然发现了你的帖子。好像

wb = xlrd.open_workbook(filename=fn)
wb.props.get('modified')
他做这项工作


xlrd==1.2.0

我不认为
os.path.getmtime
提供了与
Workbook.properties.modified
相同的东西。您只需使用这两种方法检查一些Excel文件,就可以自己测试这一点。若要在文件系统中的日期和工作簿中的日期之间创建更大的分隔,请保存工作簿而不更改其内容。不幸的是,xlrd不太可能获得任何新的功能,尤其是当涉及到旧的.xls文件时。因此,除非您准备亲自研究BIFF格式的细节,否则文件系统日期是您的最佳选择。这可能比什么都没有好。我会满足于文件系统日期,但不知道如何为文件对象获取它。可能吗?我所说的“文件系统日期”只是指您自己建议使用的
os.path.getmtime
。但是现在我意识到你的意思是,你可能不知道任何实际文件系统文件的路径,所以问题变成了如何获得该路径。如果您的函数真正接受任意“文件对象”,则可能根本没有路径(字节可能只存在于内存中,而不存在于文件系统中的任何位置)。在这种情况下,也许你别无选择,只能在收到数据的那一刻使用系统时间。@JohnY:我现在就是这么做的!:)根据你最后一句话,我感觉好多了!我不认为
os.path.getmtime
提供了与
Workbook.properties.modified
相同的东西。您只需使用这两种方法检查一些Excel文件,就可以自己测试这一点。若要在文件系统中的日期和工作簿中的日期之间创建更大的分隔,请保存工作簿而不更改其内容。不幸的是,xlrd不太可能获得任何新的功能,尤其是当涉及到旧的.xls文件时。因此,除非您准备亲自研究BIFF格式的细节,否则文件系统日期是您的最佳选择。这可能比什么都没有好。我会满足于文件系统日期,但不知道如何为文件对象获取它。可能吗?我所说的“文件系统日期”只是指您自己建议使用的
os.path.getmtime
。但是现在我意识到你的意思是,你可能不知道任何实际文件系统文件的路径,所以问题变成了如何获得该路径。如果您的函数真正接受任意“文件对象”,则可能根本没有路径(字节可能只存在于内存中,而不存在于文件系统中的任何位置)。在这种情况下,也许你别无选择,只能在收到数据的那一刻使用系统时间。@JohnY:我现在就是这么做的!:)根据你最后一句话,我感觉好多了!谢谢你的贡献!您是针对.xls文件还是仅针对.xlsx文件进行了验证?我无法在第一种情况下成功使用此解决方案。我已使用.xlsx进行了测试。现在我只是尝试使用一个.xls文件,但是wb.props不存在。抱歉:-(无需担心。下次会更走运!感谢您的贡献!您是验证了.xls文件还是仅验证了.xlsx文件?在第一种情况下,我无法成功使用此解决方案。我已使用.xlsx进行了测试。现在我只尝试了.xls文件,而wb.props不存在。抱歉:-(无需担心。下次会更走运!