python将两个excel中所有的sheet复制到另一个新的excel 怎么写
时间: 2023-09-13 16:05:30 浏览: 170
csv_file.rar_csv_csv文件_python_python 读写 excel_python处理csv数据
5星 · 资源好评率100%
### 回答1:
可以使用Python的openpyxl库来实现这个功能,示例代码如下:
from openpyxl import load_workbook
source = load_workbook(filename='source.xlsx')
target = load_workbook(filename='target.xlsx')
for sheet_name in source.sheetnames:
source_sheet = source[sheet_name]
target_sheet = target.create_sheet(title=sheet_name)
for row in source_sheet.rows:
for cell in row:
target_sheet[cell.coordinate].value = cell.value
target.save('target.xlsx')
### 回答2:
要将两个excel中的所有sheet复制到另一个新的excel,可以使用Python中的openpyxl库来进行操作。以下是一种可能的实现方式:
```python
import openpyxl
# 打开两个源excel文件和目标excel文件
source1_file = openpyxl.load_workbook('source1.xlsx')
source2_file = openpyxl.load_workbook('source2.xlsx')
target_file = openpyxl.Workbook()
# 循环遍历源excel文件的每个sheet
for sheet_name in source1_file.sheetnames:
source_sheet = source1_file[sheet_name]
target_sheet = target_file.create_sheet(sheet_name) # 在目标excel文件中创建对应的sheet
for row in source_sheet.iter_rows():
for cell in row:
target_sheet[cell.coordinate].value = cell.value # 将单元格的值复制到目标sheet
# 同样的操作对第二个源excel文件进行复制
for sheet_name in source2_file.sheetnames:
source_sheet = source2_file[sheet_name]
target_sheet = target_file.create_sheet(sheet_name)
for row in source_sheet.iter_rows():
for cell in row:
target_sheet[cell.coordinate].value = cell.value
# 保存并关闭所有excel文件
source1_file.close()
source2_file.close()
target_file.save('target.xlsx')
target_file.close()
```
以上代码将会打开两个源excel文件并逐个复制每个sheet的内容到目标excel文件中。最后保存并关闭所有文件。
请确保安装了openpyxl库,并将源excel文件命名为source1.xlsx和source2.xlsx,将目标excel文件命名为target.xlsx,并与代码文件放在同一目录下。
### 回答3:
要将两个Excel文件中的所有工作表复制到另一个新的Excel文件,你可以使用Python的openpyxl库来完成。下面是一个示例代码:
```python
import openpyxl
# 打开第一个Excel文件
wb1 = openpyxl.load_workbook('file1.xlsx')
# 打开第二个Excel文件
wb2 = openpyxl.load_workbook('file2.xlsx')
# 创建一个新的Excel文件
wb_new = openpyxl.Workbook()
# 循环遍历第一个Excel文件的所有工作表
for sheet_name in wb1.sheetnames:
# 获取工作表对象
sheet = wb1[sheet_name]
# 创建一个新的工作表,并命名为原工作表的名称
new_sheet = wb_new.create_sheet(title=sheet_name)
# 循环遍历原工作表的所有单元格,并复制到新的工作表中
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row,
min_col=1, max_col=sheet.max_column):
for cell in row:
new_sheet[cell.coordinate].value = cell.value
# 循环遍历第二个Excel文件的所有工作表,执行相同的操作
for sheet_name in wb2.sheetnames:
sheet = wb2[sheet_name]
new_sheet = wb_new.create_sheet(title=sheet_name)
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row,
min_col=1, max_col=sheet.max_column):
for cell in row:
new_sheet[cell.coordinate].value = cell.value
# 保存新的Excel文件
wb_new.save('new_file.xlsx')
```
这段代码首先使用`openpyxl`库打开两个原始Excel文件( `file1.xlsx`和 `file2.xlsx`),然后创建一个新的Excel文件(`wb_new`)。接下来,它使用两个嵌套的循环遍历原工作表的所有单元格,并将其值复制到新的工作表中。最后,将新的Excel文件保存为 `new_file.xlsx`。
阅读全文