使用pycharm 把一张excel的某几列放到另一张excel的某几列的最后一行
时间: 2024-05-08 10:15:28 浏览: 94
以下是使用Python和openpyxl库实现的代码,可以实现将一个Excel文件中的指定列复制到另一个Excel文件中指定列的最后一行:
```python
import openpyxl
# 打开第一个Excel文件
wb1 = openpyxl.load_workbook('file1.xlsx')
sheet1 = wb1.active
# 打开第二个Excel文件
wb2 = openpyxl.load_workbook('file2.xlsx')
sheet2 = wb2.active
# 指定需要复制的列
cols_to_copy = [1, 3, 5] # 假设需要复制第1、3、5列
# 指定需要粘贴的列
cols_to_paste = [2, 4, 6] # 假设需要粘贴到第2、4、6列的最后一行
# 获取第一个Excel文件中需要复制的行数据
rows = []
for row in sheet1.iter_rows(min_row=2, values_only=True):
rows.append([row[i-1] for i in cols_to_copy])
# 获取第二个Excel文件中需要粘贴的行
last_row = sheet2.max_row + 1
# 将需要复制的行数据粘贴到第二个Excel文件中指定的列的最后一行
for i, row in enumerate(rows):
for j, value in enumerate(row):
col_to_paste = cols_to_paste[j]
sheet2.cell(row=last_row+i, column=col_to_paste, value=value)
# 保存第二个Excel文件
wb2.save('file2.xlsx')
```
在代码中,我们首先打开两个Excel文件并获取它们的活动工作表。然后,我们指定需要从第一个Excel文件中复制的列和需要将数据粘贴到第二个Excel文件中的列的位置。接下来,我们使用`iter_rows()`方法迭代第一个Excel文件中的每一行,并仅获取我们需要的列。我们将这些行保存在一个列表中。接着,我们获取第二个Excel文件中需要粘贴的行的位置,即最后一行的下一行。最后,我们使用`cell()`方法将第一个Excel文件中的行数据粘贴到第二个Excel文件中指定的列的最后一行。最后,我们保存第二个Excel文件。
阅读全文