【发布时间】:2019-09-14 20:37:51
【问题描述】:
我在一个 Excel 文件中有几个时间序列。我的目标是检查excel文件是否存在。如果是,则使用pd.read_excel 加载它,如果不是,则调用远程服务器下载数据,然后将其存储到 excel 文件中。
尝试遵循“请求宽恕而不是许可”的反模式,我执行以下操作:
try:
citi_px = pd.read_excel(open('citi_credit_px.xlsx', 'rb'), sheet_name='data')
startdate = yesterday
except IOError:
startdate = whatever
而且它似乎按预期工作。但是,我的文件中的工作表名称错误,引发了ValueError,现在 Excel 文件被 Python 锁定,我无法修改或删除它。明显的解决方法是制作副本并修改副本,但我想知道正确的方法是:
1) 使用 Pandas/Python Internals 关闭 Excel 文件
2) 为 try catch 使用上下文管理器
感谢您的建议和见解!
【问题讨论】:
标签: python excel python-3.x pandas xlsxwriter