python实现将文件夹“桌面”中的工作簿“核对test”的工作表“存续合约1”和工作表“平仓合约1”的B行开始只删除数据,保留公式,然后将公盘文件夹中的文件夹“跨境”中的工作簿“跨境风险配置.xlsx”中的工作表“存续合约”和工作表“平仓合约”从B行开始复制,在文件夹“跨境”中的工作簿“核对test”中的工作表“存续合约1”和工作表“平仓合约1”的B行开始粘贴,将工作簿“核对test”的工作表“存续合约1”和“平仓合约1”的第一列的单元格格式设为日期
时间: 2023-05-20 08:01:22 浏览: 79
以下是实现该功能的 Python 代码:
```python
import os
import shutil
import openpyxl
# 定义要操作的文件夹和文件名
desktop_path = os.path.expanduser("~/Desktop")
folder_name = "跨境"
file_name = "核对test.xlsx"
sheet_names = ["存续合约1", "平仓合约1"]
# 打开要操作的工作簿
workbook = openpyxl.load_workbook(os.path.join(desktop_path, file_name))
# 删除工作表中 B 列以后的数据,保留公式
for sheet_name in sheet_names:
sheet = workbook[sheet_name]
for row in sheet.iter_rows(min_row=2, min_col=2):
for cell in row:
cell.value = None
cell.data_type = "f"
# 复制并粘贴工作表
config_file = os.path.join(desktop_path, folder_name, "跨境风险配置.xlsx")
for sheet_name in sheet_names:
source_sheet = openpyxl.load_workbook(config_file)[sheet_name]
target_sheet = workbook[sheet_name]
for row in source_sheet.iter_rows(min_row=2, min_col=2):
for cell in row:
target_cell = target_sheet.cell(row=cell.row, column=cell.column)
target_cell.value = cell.value
target_cell.data_type = cell.data_type
# 设置单元格格式为日期
for sheet_name in sheet_names:
sheet = workbook[sheet_name]
for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=1, max_col=1):
for cell in row:
cell.number_format = "yyyy/mm/dd"
# 保存工作簿
workbook.save(os.path.join(desktop_path, file_name))
```
注意:该代码需要安装 openpyxl 库。可以使用 `pip install openpyxl` 命令进行安装。
阅读全文