gpt4 book ai didi

python-3.x - 给定该文件的路径,如何使用 python 关闭在 windows 上的 excel 应用程序中打开的一个特定 csv 文件?

转载 作者:行者123 更新时间:2023-12-04 22:12:51 24 4
gpt4 key购买 nike

我有一个将数据写入 csv 文件的脚本,但如果该 csv 文件是打开的(在 Windows 10 上的 excel 应用程序中),那么它会生成 PermissionError。这是有道理的。
我希望能够捕获 PermissionError 然后关闭文件,特别是关闭在 Windows 10 上的 excel 应用程序中打开的一个 csv 文件。我不想关闭整个 excel 应用程序,而是确定特定的文件,然后关闭该文件,保留在 Excel 中打开的任何其他文件不变。
我已经研究过使用 subprocess 来做到这一点,但我不清楚我将如何实现这一点。这似乎是最有可能的路线,除非有人可以建议更好的路线。
最终的代码看起来像这样:

import time
import pandas as pd

path_to_file = 'path/to/file.csv'

df = pd.DataFrame()

try:

df.to_csv(path_to_file) # file that is currently open

except PermissionError:

print('Shutting the Open File')
time.sleep(5)
shut_the_open_file(path_to_file) # need to figure out this code for closing the currently open file
df.to_csv(path_to_file)
谢谢!

最佳答案

您可能会与 进行交互。 Excel 使用名为 xlwings 的 python 模块
使用 API 遍历所有打开的工作簿并按名称关闭所需的工作簿。

pip install xlwings

import xlwings as xl

for app in xl.apps:
for book in app.books:
if book.fullname == r"your_file_path":
book.close()

关于python-3.x - 给定该文件的路径,如何使用 python 关闭在 windows 上的 excel 应用程序中打开的一个特定 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71686162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com