python实现将文件夹“桌面”中的工作簿“核对test”的工作表“存续合约”和工作表“平仓合约”的B行开始只删除数据,保留公式,然后将公盘文件夹中的文件夹“跨境”中的工作簿“跨境风险配置.xlsx”中的工作表“存续合约”和工作表“平仓合约”从B行开始复制,在文件夹“跨境”中的工作簿“核对test”中的工作表“存续合约”和工作表“平仓合约”的B行开始粘贴,只粘贴数据,不粘贴公式,将工作簿“核对test”的工作表“存续合约”和“平仓合约”的第一列的单元格格式设为日期
时间: 2023-05-20 14:01:11 浏览: 88
以下是实现该功能的Python代码:
```python
import os
import shutil
import openpyxl
# 定义要操作的文件夹和工作簿、工作表
desktop_folder = os.path.join(os.path.expanduser("~"), "Desktop")
source_folder = os.path.join(desktop_folder, "跨境")
source_file = os.path.join(source_folder, "跨境风险配置.xlsx")
source_sheets = ["存续合约", "平仓合约"]
target_file = os.path.join(desktop_folder, "核对test.xlsx")
target_sheets = ["存续合约", "平仓合约"]
# 删除目标工作表中的数据
target_wb = openpyxl.load_workbook(target_file)
for sheet_name in target_sheets:
sheet = target_wb[sheet_name]
for row in sheet.iter_rows(min_row=2):
for cell in row:
cell.value = None
target_wb.save(target_file)
# 复制源工作表中的数据到目标工作表
source_wb = openpyxl.load_workbook(source_file)
for sheet_name in source_sheets:
source_sheet = source_wb[sheet_name]
target_sheet = target_wb[sheet_name]
for row in source_sheet.iter_rows(min_row=2):
target_row = [cell.value for cell in row]
target_sheet.append(target_row)
target_wb.save(target_file)
# 将目标工作表中的第一列单元格格式设为日期
for sheet_name in target_sheets:
sheet = target_wb[sheet_name]
for cell in sheet["A"]:
cell.number_format = "yyyy/mm/dd"
target_wb.save(target_file)
```
请注意,这段代码假定源工作簿和目标工作簿中的工作表都已经存在,并且它们的表头行是第一行,数据从第二行开始。如果这些假设不成立,代码可能需要进行适当的修改。
阅读全文