python df保存到excel时,如何设置为超级表格
时间: 2024-03-09 20:44:44 浏览: 20
要将 Pandas DataFrame 保存为超级表格(即带有格式和公式的 Excel 文件),可以使用第三方库 `openpyxl`。具体步骤如下:
1. 安装 `openpyxl` 库:
```
pip install openpyxl
```
2. 导入 `openpyxl` 库:
```
import openpyxl
```
3. 创建一个 `openpyxl` 的工作簿对象:
```
wb = openpyxl.Workbook()
```
4. 获取工作簿中的某个工作表对象:
```
sheet = wb.active
```
5. 将 DataFrame 中的数据写入到工作表中:
```
for r in dataframe_to_rows(df, index=False, header=True):
sheet.append(r)
```
其中,`dataframe_to_rows` 函数是 `openpyxl.utils` 模块中的函数,可以将 DataFrame 转换为行列表,方便写入到工作表中。
6. 对工作表进行格式化和公式设置等操作:
```
sheet.cell(row=1, column=1).value = 'Total'
sheet.cell(row=1, column=2).value = '=SUM(B2:B11)'
sheet.cell(row=1, column=2).number_format = '$0.00'
```
该代码会在第一行第一列写入文字 `Total`,在第一行第二列写入公式 `=SUM(B2:B11)`,并对第一行第二列的单元格设置货币格式。
7. 将工作簿保存到 Excel 文件中:
```
wb.save('output.xlsx')
```
该代码会将工作簿保存到名为 `output.xlsx` 的 Excel 文件中。
完整的代码示例如下:
```
import pandas as pd
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'Salary': [5000, 6000, 7000, 8000]})
# 创建一个 openpyxl 的工作簿对象
wb = openpyxl.Workbook()
# 获取工作簿中的默认工作表对象
sheet = wb.active
# 将 DataFrame 中的数据写入到工作表中
for r in dataframe_to_rows(df, index=False, header=True):
sheet.append(r)
# 对工作表进行格式化和公式设置等操作
sheet.cell(row=1, column=1).value = 'Total'
sheet.cell(row=1, column=2).value = '=SUM(B2:B5)'
sheet.cell(row=1, column=2).number_format = '$0.00'
# 将工作簿保存到 Excel 文件中
wb.save('output.xlsx')
```
该代码会将 DataFrame `df` 中的数据保存为一个带有格式和公式的 Excel 文件 `output.xlsx`。