python实现将文件夹“桌面”中的工作簿“核对test”的工作表“存续合约”和工作表“平仓合约”的第二行开始只删除数据,保留公式,然后将文件夹“台账”中的工作簿“跨境风险配置.xlsx”中的工作表“存续合约”和工作表“平仓合约”只复制数据,分别黏贴到文件夹“桌面”中的工作簿“核对”中的工作表“存续合约”和工作表“平仓合约”,将第一列的单元格格式设为日期
时间: 2023-05-18 18:05:49 浏览: 96
你可以使用Python中的pandas库来实现这个任务。首先,你需要安装pandas库,然后使用以下代码:
```python
import pandas as pd
import os
# 设置文件夹路径
desktop_path = os.path.expanduser("~/Desktop")
ledger_path = os.path.join(desktop_path, "台账")
check_path = os.path.join(desktop_path, "核对")
# 读取文件
check_file = os.path.join(desktop_path, "核对test.xlsx")
ledger_file = os.path.join(ledger_path, "跨境风险配置.xlsx")
check_df = pd.read_excel(check_file, sheet_name=None)
ledger_df = pd.read_excel(ledger_file, sheet_name=None)
# 处理数据
for sheet_name in ["存续合约", "平仓合约"]:
# 删除数据,保留公式
check_df[sheet_name].iloc[1:, :] = check_df[sheet_name].iloc[1:, :].applymap(lambda x: "" if isinstance(x, (int, float)) else x)
# 复制数据
ledger_data = ledger_df[sheet_name].iloc[1:, :].copy()
# 将第一列的单元格格式设为日期
ledger_data.iloc[:, 0] = pd.to_datetime(ledger_data.iloc[:, 0])
# 将数据黏贴到核对表格中
check_df[sheet_name].iloc[1:, :] = ledger_data.values
# 保存文件
with pd.ExcelWriter(os.path.join(check_path, "核对test.xlsx")) as writer:
for sheet_name, df in check_df.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
```
这段代码会将文件夹“桌面”中的工作簿“核对test”的工作表“存续合约”和工作表“平仓合约”的第二行开始只删除数据,保留公式,然后将文件夹“台账”中的工作簿“跨境风险配置.xlsx”中的工作表“存续合约”和工作表“平仓合约”只复制数据,分别黏贴到文件夹“桌面”中的工作簿“核对”中的工作表“存续合约”和工作表“平仓合约”,并将第一列的单元格格式设为日期。最后,它会将修改后的文件保存到文件夹“桌面”中的工作簿“核对test.xlsx”中。
阅读全文