如果是批量复制粘贴呢
时间: 2024-12-10 08:54:07 浏览: 13
如果需要批量复制源文件中的特定列数据并粘贴到目标文件的不同行,可以稍微调整上面的代码,这里我们还是使用pandas来操作,因为它的数据处理能力更强大。假设你想从源文件的每行复制`客户名称`到目标文件的对应行`客户编码`:
```python
import pandas as pd
from openpyxl import load_workbook
# 读取源文件
source_df = pd.read_excel('source.xlsx')
# 检查源文件是否含有客户名称列,如果不是则跳过
if '客户名称' not in source_df.columns:
print("源文件中未找到客户名称列,无法继续.")
else:
# 读取目标文件并创建一个空DataFrame用于存储结果
dest_df = pd.DataFrame(columns=['客户编码'])
# 遍历源文件的每一行
for index, row in source_df.iterrows():
client_name = row['客户名称']
# 创建一个新的临时工作簿处理单次复制
temp_wb = load_workbook()
temp_ws = temp_wb.active
temp_ws.append([client_name]) # 将客户名称添加到新行
# 将临时工作簿写入目标文件的新行
target_index = len(dest_df) + 1
dest_df.loc[target_index] = {'客户编码': client_name}
temp_wb.save(f'temp_{index}.xlsx') # 存储每个客户的临时文件
# 删除临时文件
temp_wb.close()
# 将所有的临时文件合并回目标文件
dest_df.to_excel('destination.xlsx', mode='a', header=False, index=False)
print("所有数据已批量复制到目标文件的相应位置.")
阅读全文