使用Python帮我编写一个代码,读取C:\Users\莫\Desktop\宏清洗,然后一个个的打开路劲里的表格,每个表格打开之后运行宏2,运行完后保存并退出,打印清洗成功。
时间: 2024-05-11 13:16:06 浏览: 71
好的,下面是符合你需求的Python代码:
```python
import os
import pandas as pd
import win32com.client as win32
# 打开Excel并运行宏
def run_macro(filename):
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(filename)
excel.Application.Run("宏2")
wb.Save()
wb.Close()
excel.Application.Quit()
# 遍历文件夹中所有Excel文件,读取并清洗数据
def process_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xlsx') or file.endswith('.xls'):
filename = os.path.join(root, file)
print("清洗文件:", filename)
df = pd.read_excel(filename) # 读取Excel表格
# TODO: 清洗数据
run_macro(filename) # 运行宏
print("清洗成功!")
if __name__ == '__main__':
folder_path = r'C:\Users\莫\Desktop\宏清洗'
process_folder(folder_path) # 运行清洗代码
```
注意:这段代码依赖于`pandas`和`pywin32`库,如果没有安装,请使用以下命令在命令行中进行安装:
```
pip install pandas
pip install pywin32
```
另外,这段代码还需要你自己编写清洗数据的代码,因为每个Excel文件的数据格式和清洗需求都可能不同,需要根据具体情况进行修改。
阅读全文