我在 openpyxl 可以读取的文件夹中有一些损坏的工作簿,但是如果我打开它们并保存它们,它们是固定的。您对如何有效地完成这项工作有任何建议。
目前我的解决方案是使用 pyautogui,单击每个单独的文件以打开并保存它。解决方案很慢,我无法按名称选择文件。
我希望你能给我指明一个更好的方向。
#Update:解决方案 1:我使用以下代码找到并打开文件:
filename = ["C_72_00_a.xlsx", "C_73_00_a.xlsx", "C_74_00_a.xlsx", "C_76_00_a.xlsx"]
path = "D:\\Python\\Intradag_opdater\\04\\2022-04-04\\LCR skema"
def clean(file_in):
with open(os.path.join(path, file_in), 'w+') as f:
pyautogui.hotkey('ctrl', 's')
for x in filename:
clean(x)
打开文件时,我按“ctrl”+“s”。
解决方案2:
基本相同,但在这里我用来打开文件:
file_t = os.path.join("D:\\Python\\Intradag_opdater\\04\\2022-04-04\\LCR skema", "C_76_00_a.xlsx")
os.startfile(file_t,'edit')
我希望这对将来的其他人有所帮助。
这解决了这个问题:
filename = ["C_72_00_a.xlsx", "C_73_00_a.xlsx", "C_74_00_a.xlsx", "C_76_00_a.xlsx"]
path = "D:\\Python\\Intradag_opdater\\04\\2022-04-04\\LCR skema"
def clean2(file_in):
#solution 2
open = os.path.join(path, file_in)
os.startfile(open,'edit')
#tilføj time sleep start og luk excel
time.sleep(5)
pyautogui.hotkey('ctrl', 's')
pyautogui.hotkey('alt', 'f4')
for x in filename:
clean2(x)
print(x)
如果我像下面那样使用 os open 文件会损坏,我不知道为什么,但也许它对某人有用:
def clean(file_in):
with open(os.path.join(path, file_in), 'w+') as f:
pyautogui.hotkey('ctrl', 's')
for x in filename:
clean(x)
print(x)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句