使用PYTHON写一段代码,对指定的"D:\1_ZC专项\0-每日批量清洗数据目录\表格汇总前"文件夹下的所有XLSX表格文件,从表格的第3行开始进行读取,将数据顺序保存到一个新的表格里,命令为日期+地名+数据合并的xlsx文件,保存到"D:\1_ZC专项\0-每日批量清洗数据目录\"文件夹中,随后在该合并后的表格第6列后插入一列空值,在第16行第3行写入内容:”VLOOKUP(O3,Sheet2!A:B,2,FALSE)“并向下填充该列后保存表格
时间: 2024-03-01 12:52:03 浏览: 21
好的,这是实现您要求的Python代码:
```python
import os
import openpyxl
# 获取文件夹路径
folder_path = r'D:\1_ZC专项\0-每日批量清洗数据目录\表格汇总前'
# 新建一个工作簿
merged_wb = openpyxl.Workbook()
merged_ws = merged_wb.active
# 遍历文件夹下的所有xlsx文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
# 打开工作簿
wb = openpyxl.load_workbook(os.path.join(folder_path, filename))
ws = wb.active
# 读取数据,从第3行开始
data = []
for row in ws.iter_rows(min_row=3, values_only=True):
data.append(row)
# 获取日期和地名
date = ws.cell(row=1, column=2).value
place = ws.cell(row=2, column=2).value
# 将数据顺序保存到新工作簿中
for row in data:
merged_ws.append([date, place] + list(row))
# 关闭工作簿
wb.close()
# 在第6列后插入一列空值
merged_ws.insert_cols(7)
# 写入公式
merged_ws.cell(row=16, column=3).value = 'VLOOKUP(O3,Sheet2!A:B,2,FALSE)'
merged_ws.column_dimensions['C'].width = 40
for row in range(17, merged_ws.max_row+1):
merged_ws.cell(row=row, column=3).value = 'VLOOKUP(O{},Sheet2!A:B,2,FALSE)'.format(row)
# 保存工作簿
merged_wb.save(os.path.join(r'D:\1_ZC专项\0-每日批量清洗数据目录', '{}{}_数据合并.xlsx'.format(date, place)))
merged_wb.close()
```
需要注意的是,代码中的路径可能需要根据您的实际情况进行修改,特别是最后保存合并后的表格的路径。如果您的电脑中没有安装openpyxl模块,可以在命令行中使用以下命令进行安装:
```bash
pip install openpyxl
```
希望这个代码能够满足您的需求!