python新建excel的sheet 向sheet中写入数据后 其他的sheet表会丢失该怎么办
时间: 2023-10-02 11:07:03 浏览: 237
你可以使用openpyxl模块来打开excel文件并新建sheet表,然后将需要保留的sheet表复制到新建的excel文件中,最后将数据写入新建的sheet表即可。以下是示例代码:
```python
import openpyxl
# 打开原始excel文件
wb = openpyxl.load_workbook('原始excel文件.xlsx')
# 新建sheet表
new_sheet = wb.create_sheet('新建sheet表')
# 复制需要保留的sheet表到新建的excel文件中
for sheet in wb.worksheets:
if sheet.title != '需要保留的sheet表':
wb.remove(sheet)
wb.save('新建excel文件.xlsx')
# 打开新建excel文件并写入数据
wb = openpyxl.load_workbook('新建excel文件.xlsx')
sheet = wb['新建sheet表']
sheet['A1'] = '数据1'
sheet['B1'] = '数据2'
wb.save('新建excel文件.xlsx')
```
相关问题
python在excel多个sheet中分别写入数据并保存
在Python中,你可以使用pandas库和openpyxl或者xlwings等库来操作Excel文件,包括在多个工作表(Sheets)中写入数据。这里以pandas为例:
首先,安装必要的库:
```bash
pip install pandas openpyxl
```
然后,使用pandas的基本步骤如下:
1. 导入所需的模块:
```python
import pandas as pd
from openpyxl import load_workbook
```
2. 加载Excel文件,如果它不存在,可以创建一个新的:
```python
# 如果文件存在
wb = load_workbook('your_file.xlsx')
# 或者创建新的工作簿
if not wb:
wb = Workbook()
```
3. 创建DataFrame,填充数据:
```python
data = {
'Sheet1': {'Column1': [value1, value2], 'Column2': [value3, value4]},
'Sheet2': {'ColumnA': [value5, value6], 'ColumnB': [value7, value8]}
} # 根据实际数据替换这里的键值对
dfs = {sheet_name: pd.DataFrame(data[sheet_name]) for sheet_name in data}
```
4. 将DataFrame写入对应的工作表:
```python
for sheet_name, df in dfs.items():
ws = wb[sheet_name] # 获取工作表
df.to_excel(ws, index=False) # 写入数据
```
5. 最后,保存修改后的Excel文件:
```python
wb.save('your_file.xlsx')
```
如果你需要关闭工作簿,可以添加`wb.close()`。
python写入excel不同sheet
可以使用Python中的pandas库来写入Excel不同的sheet。具体步骤如下:
1. 导入pandas库
```python
import pandas as pd
```
2. 创建Excel文件
```python
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
```
3. 创建不同的sheet
```python
df1 = pd.DataFrame({'Data': [10, 20, 30, 40]})
df1.to_excel(writer, sheet_name='Sheet1')
df2 = pd.DataFrame({'Data': [50, 60, 70, 80]})
df2.to_excel(writer, sheet_name='Sheet2')
```
4. 保存Excel文件
```python
writer.save()
```
完整代码如下:
```python
import pandas as pd
# 创建Excel文件
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
# 创建不同的sheet
df1 = pd.DataFrame({'Data': [10, 20, 30, 40]})
df1.to_excel(writer, sheet_name='Sheet1')
df2 = pd.DataFrame({'Data': [50, 60, 70, 80]})
df2.to_excel(writer, sheet_name='Sheet2')
# 保存Excel文件
writer.save()
```
阅读全文