python数据透视_用pythonwin32com创建数据透视图
我设法做到了import win32com.client
import os
Excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
win32c = win32com.client.constants
wb = Excel.Workbooks.Add()
Sheet1 = wb.Worksheets.Add()
TestData = [['Country','Name','Gender','Sign','Amount'],
['CH','Max' ,'M','Plus',123.4567],
['CH','Max' ,'M','Minus',-23.4567],
['CH','Max' ,'M','Plus',12.2314],
['CH','Max' ,'M','Minus',-2.2314],
['CH','Sam' ,'M','Plus',453.7685],
['CH','Sam' ,'M','Minus',-53.7685],
['CH','Sara','F','Plus',777.666],
['CH','Sara','F','Minus',-77.666],
['DE','Hans','M','Plus',345.088],
['DE','Hans','M','Minus',-45.088],
['DE','Paul','M','Plus',222.455],
['DE','Paul','M','Minus',-22.455]]
for i, TestDataRow in enumerate(TestData):
for j, TestDataItem in enumerate(TestDataRow):
Sheet1.Cells(i+2,j+4).Value = TestDataItem
cl1 = Sheet1.Cells(2,4)
cl2 = Sheet1.Cells(2+len(TestData)-1,4+len(TestData[0])-1)
PivotSourceRange = Sheet1.Range(cl1,cl2)
PivotSourceRange.Select()
Sheet2 = wb.Worksheets.Add()
cl3=Sheet2.Cells(4,1)
PivotTargetRange= Sheet2.Range(cl3,cl3)
PivotTableName = 'ReportPivotTable'
PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase,SourceData=PivotSourceRange, Version=win32c.xlPivotTableVersion14)
PivotTable = PivotCache.CreatePivotTable(TableDestination=PivotTargetRange, TableName=PivotTableName, DefaultVersion=win32c.xlPivotTableVersion14)
#Properties from a recorded macro I made, I didn't take the time to determine which attribute is really important and I don't think I will.
PivotTable.ColumnGrand = True
PivotTable.HasAutoFormat = True
PivotTable.DisplayErrorString = False
PivotTable.DisplayNullString = True
PivotTable.EnableDrilldown = True
PivotTable.ErrorString = ""
PivotTable.MergeLabels = False
PivotTable.NullString = ""
PivotTable.PageFieldOrder = 2
PivotTable.PageFieldWrapCount = 0
PivotTable.PreserveFormatting = True
PivotTable.RowGrand = True
PivotTable.SaveData = True
PivotTable.PrintTitles = False
PivotTable.RepeatItemsOnEachPrintedPage = True
PivotTable.TotalsAnnotation = False
PivotTable.CompactRowIndent = 1
PivotTable.InGridDropZones = False
PivotTable.DisplayFieldCaptions = True
PivotTable.DisplayMemberPropertyTooltips = False
PivotTable.DisplayContextTooltips = True
PivotTable.ShowDrillIndicators = True
PivotTable.PrintDrillIndicators = False
PivotTable.AllowMultipleFilters = False
PivotTable.SortUsingCustomLists = True
PivotTable.FieldListSortAscending = False
PivotTable.ShowValuesRow = False
PivotTable.CalculatedMembersInFilters = False
PivotTable.PivotFields('Name').Orientation = win32c.xlRowField
PivotTable.PivotFields('Name').Position = 1
PivotTable.PivotFields('Gender').Orientation = win32c.xlPageField
PivotTable.PivotFields('Gender').Position = 1
PivotTable.PivotFields('Gender').CurrentPage = 'M'
PivotTable.PivotFields('Country').Orientation = win32c.xlColumnField
PivotTable.PivotFields('Country').Position = 1
PivotTable.PivotFields('Country').Subtotals = [False, False, False, False, False, False, False, False, False, False, False, False]
PivotTable.PivotFields('Sign').Orientation = win32c.xlColumnField
PivotTable.PivotFields('Sign').Position = 2
DataField = PivotTable.AddDataField(PivotTable.PivotFields('Amount'))
DataField.NumberFormat = '#\'##0.00'
#Creating the PivotChart
chart=Sheet2.Shapes.AddChart2(201)
#to change XlChartType,cf.https://msdn.microsoft.com/fr-fr/vba/excelvba/articles/shapes-addchart2-method-excel
#For example, you can do chart=Sheet2.Shapes.AddChart2(201,4) for xlLine chart
Excel.Visible = 1
结果是:
希望这有帮助。在
问候
python数据透视_用pythonwin32com创建数据透视图相关推荐
- react 数据可视化_使用d3创建数据可视化并在2020年做出React
react 数据可视化 Data visualisation and application technologies have evolved greatly over the past decad ...
- mysql如何进行数据透视_使用MySQL的数据透视表
为了在MySQL中转动数据,您需要同时使用聚合函数和CASE表达式. 如果您有已知数量的列,则可以对查询进行硬编码: select p.postid, max(case when t.tagname ...
- 【Excle数据透视表】如何创建非共享缓存的数据透视表
一般情况下,利用同一个数据源创建多个数据表时,默认创建的是共享缓存的数据透视表.刷新一个数据透视表时会影响其他数据透视表的展示结果. 解决方案 创建非共享缓存的多个数据透视表 步骤一 单击工作表数据任 ...
- C# 操作Excel数据透视表详解 – 创建、操作和删除
数据透视表是Excel中可以进行数据分类汇总和分析的一个强大工具,很多报表形式都可以通过数据透视表来实现.它的一项重要功能是能够重新排列字段项,使用户可以从不同的角度对数据进行分析,并且无需进行复杂的 ...
- 多设备同步表数据_利用Excel数据透视表解决两份报表数据不同步问题
19年元旦已经接近尾声啦,各位小伙伴们这个元旦假期过得快乐么,都去哪里玩了?屠夫的元旦假期一直都在加班,直到现在才有时间来分享Excel应用方面的一些经验和心得. 想必各位都有过这样的经历吧,人力资源 ...
- sql数据透视_SQL Server中的数据科学:取消数据透视
sql数据透视 In this article, in the series, we'll discuss understanding and preparing data by using SQL ...
- Excel 数据透视表小技巧之 06 使用 Excel 数据透视表作为另一个数据透视表的数据源
我在 excel 中有一个使用原始表作为其数据源的数据透视表.这个数据透视表正在对行进行一组分组和求和.我现在想使用这个新数据透视表的结果作为新数据透视表的数据源,它将进一步修改这些数据.这可以用ex ...
- Excel的数据透视表怎么弄 ?数据透视表怎么做汇总求和
使用Excel进行求和,除了运用函数之外,还可以插入数据透视表进行求和,数据透视表怎么做呢?小编使用WPS里的Excel给大家演示一遍. 步骤一:打开需要求和的表格,点击最上方的工具栏里的" ...
- excel数据透视_取消透视Excel数据的快速方法
excel数据透视 Before you can build a flexible pivot table, you might need to rearrange the data. For exa ...
最新文章
- 年增长率超50%,AI芯片竞争白热化
- codeforces 229C
- python redis集群_Python3 redis集群连接 (带密码验证)
- oracle client 默认端口,[数据库]配置精简版Oracle客户端
- 【NLP】NLP 语义匹配:经典前沿方案整理
- fileinput 加 ftp 加 nginx 加 SpringBoot上传文件
- kaggle账号_Kaggle 数据挖掘比赛经验分享
- Kubernetes的系统架构与设计理念
- HNOI2019 退役记
- json在java中的使用_有效地使用JSON流(在Java中)
- Windows可以往外ping,外部却ping不通本机
- 百旺智能编码_百旺税控盘如何增加商品编码?
- Spring Boot 整合定时任务,可以动态编辑的定时任务2022-03-09 11:27·java互联网架构
- snmptrap的使用方法
- 人脸图像质量评价:FaceQnet
- a20 linux qt,全志A83T开发板,超树莓派/A20/A31S/banana pi M3/八核/Android5
- 第17节 三个败家子(17)——少侠孙坚
- Vuex Actions使用
- 2010年RSA大会RSA总裁主题演讲:云的安全
- 【Linux/Unix】Linux中的seq命令
热门文章
- 锦州财经学校有学计算机的部门儿吗,锦州市招收的学校有哪些
- Git怎样撤销一次分支的合并Merge
- tensor的维度(轴)—axis的解释
- 表格对角线两边打字_WPS表格怎么在斜线左右两边打字|excle表格斜线一分为二怎么打字...
- python学习②21 7 14
- Python问题:SyntaxError: Non-ASCII character '\xe2'
- es6——let和const
- 《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一3.3 在VIPLE中创建计算机系统部件...
- 计算机用户来源分析,中国PC用户购买渠道调查报告前期准备用户篇
- 趣图:IT培训出来找工作