python生成Excel透视表
时间: 2023-10-14 20:15:44 浏览: 147
要使用Python生成Excel透视表,可以使用以下步骤:
1. 导入所需的库和模块,包括pandas、openpyxl和xlrd。
```python
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
import xlrd
```
2. 读取Excel文件并将其转换为pandas数据框。
```python
file = 'data.xlsx'
data = pd.read_excel(file)
```
3. 使用pandas的pivot_table函数生成透视表。在这里,我们需要指定要聚合的列、要分组的列以及要执行的聚合函数。例如,以下代码将按照“Region”和“Product”列分组,并对“Sales”列执行总和聚合。
```python
pivot = pd.pivot_table(data, values='Sales', index=['Region', 'Product'], aggfunc=sum)
```
4. 将透视表转换为Excel工作表,并将其保存到新的Excel文件中。以下代码将透视表保存到名为“pivot.xlsx”的新文件中。
```python
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(pivot, index=True, header=True):
ws.append(r)
wb.save('pivot.xlsx')
```
整个代码如下所示:
```python
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
import xlrd
file = 'data.xlsx'
data = pd.read_excel(file)
pivot = pd.pivot_table(data, values='Sales', index=['Region', 'Product'], aggfunc=sum)
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(pivot, index=True, header=True):
ws.append(r)
wb.save('pivot.xlsx')
```
运行此代码后,将生成一个名为“pivot.xlsx”的Excel文件,其中包含生成的透视表。
阅读全文