用python建立excel的数据透视表

本文介绍如何利用Python的Pandas库创建一维和二维数据,并演示了数据透视表的构建过程,包括按行和列进行数值求和及计数,展示了数据聚合的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd
import numpy as np

#1.建立一维数据
a = pd.Series([‘a’,‘b’,‘c’,‘d’,‘e’])
print(a)
#2.建立二维的数据
b = pd.DataFrame({‘客户名称’:[‘张三梁配’,‘李四梁配’,‘王五小麦’,‘赵六麦子’],
‘车’:[‘1’,‘3’,‘4’,‘5’],
‘吨数’:[‘40’,‘120’,‘160’,‘200’],
‘总价’:[‘80000’,‘240000’,‘320000’,‘400000’]})
print(b)
e_file = pd.ExcelFile(‘7月下旬入库表.xlsx’)
#3.建立数据透视表
#打开的sheet表名称
data = e_file.parse(‘7月下旬入库表’)
print(data)
#行首 列头 数值 求和 行末列末求总和
pt1 = pd.pivot_table(data,index=[‘销售商’],columns=[‘来源省份’],values=[‘入库量(吨)’],aggfunc=np.sum,margins = True)
#设置选项让数据全部显示,没有省略掉
pd.set_option(‘display.max_columns’,None)
#行首 列头 数值 计数 行末列末求总和
pt2 = pd.pivot_table(data,index=[‘销售商’],columns=[‘来源省份’],values=[‘入库量(吨)’],aggfunc=np.size,margins = True)
print(pt1)
#打印单元格数值
print(pt1.iat[0,0])
print(pt1.iat[0,1])

### 使用VBA创建和操作Excel数据透视表 通过VBA可以实现对Excel数据透视表的自动化创建与管理。下面展示一段用于创建简单数据透视表对其进行基础配置的VBA代码: ```vb Sub CreatePivotTable() ' 定义变量存储原始数据区域以及放置新数据透视表的工作名称 Dim wsData As Worksheet, wsPT As Worksheet Set wsData = ThisWorkbook.Sheets("Sheet1") ' 原始数据所在工作 Sheets.Add.Name = "PivotTable" Set wsPT = ThisWorkbook.Sheets("PivotTable") ' 创建缓存对象来保存源数据范围内的记录集 Dim pc As PivotCache Set pc = ActiveWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=wsData.Range("A1:D10")) ' 添加新的数据透视表到指定位置 With pc.CreatePivotTable(TableDestination:=wsPT.Cells(2, 2)) .AddFields RowFields:="Category", ColumnFields:="Date" ' 设置行字段和字段 .AddDataField .PivotFields("Sales"), "Sum of Sales", xlSum ' 计算销售总额 End With End Sub ``` 这段程序会基于`Sheet1`上的某些单元格区间建立一个新的名为"PivotTable"的工作,在其中生成一个简单的数据透视表实例[^1]。 对于其他能够操纵Excel文件的语言来说,Python是一个非常流行的选择。借助于第三方库如`openpyxl`或`pandas`配合`xlsxwriter`模块,可以在不依赖Microsoft Office环境的情况下完成相似的任务。然而需要注意的是,这些工具不直接支持像VBA那样原生地调用Excel内部API去构建复杂的数据透视表结构;不过利用`pandas.DataFrame.pivot_table()`方法同样能达成近似效果,且具有跨平台的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值