【发布时间】:2022-01-31 01:28:30
【问题描述】:
我是 Python 新手,我需要打开一个文件夹中的所有 Excel(一个一个),等待一段时间让 SAS 插件加载新数据,然后保存并关闭它。我尝试使用一些库,但我无法获得预期的结果。
使用子进程:
import os
import subprocess
path = "C:\\Users\\...\\Desktop\\TEST_EXCEL"
for file in os.listdir(path):
filename = os.path.join(path, file)
if filename.endswith(".xlsx"):
proc = subprocess.Popen([filename], shell=True)
time.sleep(60)
subprocess.call(['taskkill', '/F', '/T', '/PID', str(proc.pid)])
Popen 函数打开 Excel,然后等待 60 秒,这样插件就可以加载数据,然后关闭它。问题是我无法保存添加的新数据。
我也尝试过使用 openpyxl 等其他库,但无法打开 Excel。我加载了 Excel,但如果您不打开它,它似乎没有下载新数据。
openpyxl 示例:
import os
import openpyxl
path = "C:\\Users\\...\\Desktop\\TEST_EXCEL"
for file in os.listdir(path):
filename = os.path.join(path, file)
if filename.endswith(".xlsx"):
wb = openpyxl.load_workbook(filename)
time.sleep(60)
wb.save(filename)
感谢您的帮助。
【问题讨论】: