打开并保存 Excel 工作簿以修复它们

克里斯托弗

我在 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章