python给原有EXCEL加入新sheet,不覆盖原sheet
时间: 2024-01-24 16:02:03 浏览: 19
可以使用openpyxl库来实现这个功能,以下是示例代码:
```python
import openpyxl
# 打开原有的Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 创建新的sheet
new_sheet = wb.create_sheet('New Sheet')
# 向新的sheet中写入数据
new_sheet['A1'] = 'Hello'
# 保存修改后的Excel文件
wb.save('example.xlsx')
```
以上代码会向名为"example.xlsx"的Excel文件中添加一个名为"New Sheet"的新sheet,并在该sheet的单元格A1中写入"Hello"。这样就不会覆盖原有的sheet中的数据。
相关问题
python 将数据存入excel中sheet2不覆盖sheet1
可以使用openpyxl库来实现将数据存入excel中不覆盖原有数据的功能。以下是示例代码:
```python
import openpyxl
# 打开excel文件
wb = openpyxl.load_workbook('file.xlsx')
# 选择sheet2
ws = wb['Sheet2']
# 在sheet2中写入数据
ws['A1'] = 'Hello'
ws['B1'] = 'World'
# 保存文件
wb.save('file.xlsx')
```
在这个示例中,我们首先使用openpyxl库的load_workbook函数打开了一个名为file.xlsx的excel文件。然后,我们使用wb['Sheet2']选择了excel文件中名为Sheet2的工作表。接着,我们在Sheet2中写入了两个单元格的数据。最后,我们使用wb.save函数保存了excel文件。这样就实现了将数据存入excel中不覆盖原有数据的功能。
使用python按照sheet拆分excel,保留原有样式
可以使用Python中的openpyxl模块来实现按照sheet拆分excel并保留原有样式。下面是一个示例代码:
```python
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook('example.xlsx')
# 遍历每个sheet
for sheet_name in wb.sheetnames:
# 创建一个新的workbook
new_wb = Workbook()
# 获取当前sheet
sheet = wb[sheet_name]
# 创建一个新的sheet
new_sheet = new_wb.active
# 设置新sheet的名称
new_sheet.title = sheet_name
# 遍历当前sheet的每个行和每个单元格
for row in sheet.iter_rows():
new_row = []
for cell in row:
# 获取当前单元格的值和样式
new_cell = Cell(new_sheet, value=cell.value)
new_cell._style = cell._style
# 添加新单元格到新行
new_row.append(new_cell)
# 添加新行到新sheet中
new_sheet.append(new_row)
# 保存新的workbook
new_wb.save(f'{sheet_name}.xlsx')
```
这段代码将打开名为`example.xlsx`的Excel文件,遍历每个sheet,为每个sheet创建一个新的workbook,然后遍历当前sheet的每个行和每个单元格,获取当前单元格的值和样式,并将其添加到新的sheet中。最后,将新的workbook保存为一个名为`sheet_name.xlsx`的文件,其中`sheet_name`是当前sheet的名称。