浅析Python如何在Excel中应用数据透视表

作者:

文章目录
  • 为了实现纯代码操控 Excel 文档,本文中需要用到 Spire.XLS for Python 库,我们可以用以下两种方法安装。 手动下载产品包后再从本地路径安装。 通过命令行直接使用以下 pip 命令安装: pip install Spire.XLS
  • 从最简单的部分开始——要在 Excel 中创建透视表,请按照以下步骤操作: 使用 Workbook.LoadFromFile() 方法加载一个现有的 Excel 文档 通过 Workbook.Worksheets[index] 属性获取指定的工作表 使用 Worksheet.Range 属性指定透视表的单元格数据范围 使用 Workbook.PivotCaches.Add() 方法创建 PivotCache 对象 使用 Worksheet.PivotTables.Add() 方法根据 PivotCache 创建透视表 添加行字段 添加值字段 使用 PivotTable.PivotBuiltInStyles 设置内置样式到透视表 使用 Workbook.SaveToFile() 方法保存结果文档 使用 Workbook.Dispose() 方法释放文档对象[i] from spire.xls import * from spire.xls.common import * # 创建一个 Workbook 对象 workbook = Workbook() # 加载原 Excel 文档 workbook.LoadFromFile(“Microsoft Excel 工作表.xlsx”) # 获取第一个工作表 sheet = workbook.Worksheets[0] # 指定透视表的数据范围 cellRange = sheet.Range[“A2:D28”] # 添加 CellRange 到 PivotCaches piVotCache = workbook.PivotCaches.Add(cellRange) # 通过PivotCaches添加透视表并设置位置 pivotTable = sheet.PivotTables.Add(“Pivot Table”, sheet.Range[“H4”], piVotCache) # 设置透视表的行字段 regionField = pivotTable.PivotFields[“书店名称”] regionField.Axis = AxisTypes.Row pivotTable.Options.RowHeaderCaption = “书店名称” productField = pivotTable.PivotFields[“书籍名称”] productField.Axis = AxisTypes.Row # 添加值字段 pivotTable.DataFields.Add(pivotTable.PivotFields[“销售数量(本)”], “总计销售数量(本)”, SubtotalTypes.Sum) # 设置透视表的样式 pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium11 # 设置透视表相应列的列宽 h = sheet.Range[“H4”] sheet.SetColumnWidth(h.Column, 18) sheet.SetColumnWidth(h.Column + 1, 20) # 保存文件 workbook.SaveToFile(“结果.xlsx”, ExcelVersion.Version2016) # 释放对象 workbook.Dispose() 结果预览: (Python 在 Excel 中创建数据透视表)
  • 使用 Spire.XLS,让我们在 Python 中得以通过列值对透视表进行排序。首先,通过 PivotTable.PivotFields["FieldName"] 属性访问特定字段,然后使用 PivotField.SortType 属性设置其排序类型。 以下是按照特定字段的值对透视表进行排序的步骤: 使用 Workbook.LoadFromFile() 方法加载含有透视表的原 Excel 文档 通过 Workbook.Worksheets[index] 属性获取特定的工作表 通过 Worksheet.PivotTables[index] 属性从工作表中获取特定的透视表 通过 PivotTable.PivotFields["FieldName"] 属性获取特定的字段 通过 PivotField.SortType 属性对该字段中的数据进行排序 使用 Workbook.SaveToFile() 方法保存结果文件 使用 Workbook.Dispose() 方法释放文档对象 from spire.xls import * from spire.xls.common import * # 创建一个 Workbook 对象 workbook = Workbook() # 加载含有透视表的原 Excel 文档 workbook.LoadFromFile(“透视表.xlsx”) # 获取第一个工作表 sheet = workbook.Worksheets[0] # 获取第一个透视表 pivotTable = sheet.PivotTables[0] # 获取要排序的字段 idField = pivotTable.PivotFields[“书店名称”] # 按升序排列 idField.SortType = PivotFieldSortType.Ascending # 保存文件 workbook.SaveToFile(“结果.xlsx”, ExcelVersion.Version2016) # 释放对象 workbook.Dispose() 结果预览: (Python 按列值对数据透视表排序)
  • 若是想在 Python 中展开或折叠数据透视表中的行,可以使用 PivotField.HideItemDetail(string itemValue, bool isHiddenDetail) 方法来实现。 将第二个参数设置为 true 为折叠效果;反之,设置为 false 为展开效果。 详细步骤如下: 使用 Workbook.LoadFromFile() 方法加载含有透视表的原 Excel 文档 通过 Workbook.Worksheets[index] 属性获取特定的工作表 通过 Worksheet.PivotTables[index] 属性从工作表中获取特定的透视表 通过 PivotTable.PivotFields["FieldName"] 属性获取特定的字段 通过 PivotField.HideItemDetail(string itemValue, bool isHiddenDetail) 方法针对具体项折叠或展开 使用 Workbook.SaveToFile() 方法保存结果文件 使用 Workbook.Dispose() 方法释放文档对象 from spire.xls import * from spire.xls.common import * # 创建一个 Workbook 对象 workbook = Workbook() # 加载含有透视表的原 Excel 文档 workbook.LoadFromFile(“透视表.xlsx”) # 获取第一个工作表 sheet = workbook.Worksheets[0] # 获取第一个透视表 pivotTable = sheet.PivotTables[0] # 获取特定字段 idField = pivotTable.PivotFields[“书店名称”] # 设置展开或折叠 idField.HideItemDetail(“文化书店”, True) idField.HideItemDetail(“西门书店”, False) idField.HideItemDetail(“中原书店”, False) # 保存文件 workbook.SaveToFile(“结果.xlsx”, ExcelVersion.Version2016) # 释放对象 workbook.Dispose() 结果预览: (Python 展开或折叠数据透视表)
  • 在本教程中,我们了解了 Python 创建透视表、Python 按列值对透视表进行排序和 Python 展开或折叠透视表中的行的方法。 到此这篇关于浅析Python如何在Excel中应用数据透视表的文章就介绍到这了,更多相关Python Excel数据透视表内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 使用Python在Excel工作表中创建数据透视表的方法 python pandas最常用透视表实现应用案例 如何使用Python实现数据透视表、音频文件格式转换 Python制作数据分析透视表的方法详解 Python+Pandas实现数据透视表 用Python实现数据的透视表的方法 Python实现数据透视表详解
  • 目录
    • 前期准备
    • Python 在 Excel 中创建透视表
    • Python 按列值对透视表进行排序
    • Python 展开或折叠透视表中的行
    • 小结

    数据透视表是 Excel 最强大的数据分析工具之一,能快速实现海量数据的动态汇总、多维分析与交互式展示。用户能在不同角度上查看和比较数据,深入研究数据之间的关系和模式。 但是 Excel 同其他 Office 软件一样,想要高效办公就得付出大量时间和精力去学习高阶使用,而人工处理也在面对大量数据时显得力不从心。

    幸运的是,利用好 Python 等编程语言,我们就可以使用几行浅显易懂的代码实现全自动处理数据,并生成所需 Excel 文件。而 Python 的 Spire.XLS 库就是这样一个绝佳的工具。 本文将介绍如何使用 Python 在 Excel 中应用数据透视表。

    为了实现纯代码操控 Excel 文档,本文中需要用到 Spire.XLS for Python 库,我们可以用以下两种方法安装。

    • 手动下载产品包后再从本地路径安装。
    • 通过命令行直接使用以下 pip 命令安装:
    pip install Spire.XLS

    从最简单的部分开始——要在 Excel 中创建透视表,请按照以下步骤操作:

    • 使用 Workbook.LoadFromFile() 方法加载一个现有的 Excel 文档
    • 通过 Workbook.Worksheets[index] 属性获取指定的工作表
    • 使用 Worksheet.Range 属性指定透视表的单元格数据范围
    • 使用 Workbook.PivotCaches.Add() 方法创建 PivotCache 对象
    • 使用 Worksheet.PivotTables.Add() 方法根据 PivotCache 创建透视表
    • 添加行字段
    • 添加值字段
    • 使用 PivotTable.PivotBuiltInStyles 设置内置样式到透视表
    • 使用 Workbook.SaveToFile() 方法保存结果文档
    • 使用 Workbook.Dispose() 方法释放文档对象[i]
    from spire.xls import *
    from spire.xls.common import *
    
    # 创建一个 Workbook 对象
    workbook = Workbook()
    
    # 加载原 Excel 文档
    workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")
    
    # 获取第一个工作表
    sheet = workbook.Worksheets[0]
    
    # 指定透视表的数据范围
    cellRange = sheet.Range["A2:D28"]
    
    # 添加 CellRange 到 PivotCaches
    piVotCache = workbook.PivotCaches.Add(cellRange)
    
    # 通过PivotCaches添加透视表并设置位置
    pivotTable = sheet.PivotTables.Add("Pivot Table", sheet.Range["H4"],
                                       piVotCache)
    
    # 设置透视表的行字段
    regionField = pivotTable.PivotFields["书店名称"]
    regionField.Axis = AxisTypes.Row
    pivotTable.Options.RowHeaderCaption = "书店名称"
    productField = pivotTable.PivotFields["书籍名称"]
    productField.Axis = AxisTypes.Row
    
    # 添加值字段
    pivotTable.DataFields.Add(pivotTable.PivotFields["销售数量(本)"], "总计销售数量(本)",
                              SubtotalTypes.Sum)
    
    # 设置透视表的样式
    pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium11
    
    # 设置透视表相应列的列宽
    h = sheet.Range["H4"]
    sheet.SetColumnWidth(h.Column, 18)
    sheet.SetColumnWidth(h.Column + 1, 20)
    
    # 保存文件
    workbook.SaveToFile("结果.xlsx", ExcelVersion.Version2016)
    
    # 释放对象
    workbook.Dispose()

    结果预览:

    (Python 在 Excel 中创建数据透视表)

    使用 Spire.XLS,让我们在 Python 中得以通过列值对透视表进行排序。首先,通过 PivotTable.PivotFields["FieldName"] 属性访问特定字段,然后使用 PivotField.SortType 属性设置其排序类型。

    以下是按照特定字段的值对透视表进行排序的步骤:

    • 使用 Workbook.LoadFromFile() 方法加载含有透视表的原 Excel 文档
    • 通过 Workbook.Worksheets[index] 属性获取特定的工作表
    • 通过 Worksheet.PivotTables[index] 属性从工作表中获取特定的透视表
    • 通过 PivotTable.PivotFields["FieldName"] 属性获取特定的字段
    • 通过 PivotField.SortType 属性对该字段中的数据进行排序
    • 使用 Workbook.SaveToFile() 方法保存结果文件
    • 使用 Workbook.Dispose() 方法释放文档对象
    from spire.xls import *
    from spire.xls.common import *
    
    # 创建一个 Workbook 对象
    workbook = Workbook()
    
    # 加载含有透视表的原 Excel 文档
    workbook.LoadFromFile("透视表.xlsx")
    
    # 获取第一个工作表
    sheet = workbook.Worksheets[0]
    
    # 获取第一个透视表
    pivotTable = sheet.PivotTables[0]
    
    # 获取要排序的字段
    idField = pivotTable.PivotFields["书店名称"]
    
    # 按升序排列
    idField.SortType = PivotFieldSortType.Ascending
    
    # 保存文件
    workbook.SaveToFile("结果.xlsx", ExcelVersion.Version2016)
    
    # 释放对象
    workbook.Dispose()

    结果预览:

    (Python 按列值对数据透视表排序)

    若是想在 Python 中展开或折叠数据透视表中的行,可以使用 PivotField.HideItemDetail(string itemValue, bool isHiddenDetail) 方法来实现。

    将第二个参数设置为 true 为折叠效果;反之,设置为 false 为展开效果。

    详细步骤如下:

    • 使用 Workbook.LoadFromFile() 方法加载含有透视表的原 Excel 文档
    • 通过 Workbook.Worksheets[index] 属性获取特定的工作表
    • 通过 Worksheet.PivotTables[index] 属性从工作表中获取特定的透视表
    • 通过 PivotTable.PivotFields["FieldName"] 属性获取特定的字段
    • 通过 PivotField.HideItemDetail(string itemValue, bool isHiddenDetail) 方法针对具体项折叠或展开
    • 使用 Workbook.SaveToFile() 方法保存结果文件
    • 使用 Workbook.Dispose() 方法释放文档对象
    from spire.xls import *
    from spire.xls.common import *
    
    # 创建一个 Workbook 对象
    workbook = Workbook()
    
    # 加载含有透视表的原 Excel 文档
    workbook.LoadFromFile("透视表.xlsx")
    
    # 获取第一个工作表
    sheet = workbook.Worksheets[0]
    
    # 获取第一个透视表
    pivotTable = sheet.PivotTables[0]
    
    # 获取特定字段
    idField = pivotTable.PivotFields["书店名称"]
    
    # 设置展开或折叠
    idField.HideItemDetail("文化书店", True)
    idField.HideItemDetail("西门书店", False)
    idField.HideItemDetail("中原书店", False)
    
    # 保存文件
    workbook.SaveToFile("结果.xlsx", ExcelVersion.Version2016)
    
    # 释放对象
    workbook.Dispose()

    结果预览:

    (Python 展开或折叠数据透视表)

    在本教程中,我们了解了 Python 创建透视表、Python 按列值对透视表进行排序和 Python 展开或折叠透视表中的行的方法。

    到此这篇关于浅析Python如何在Excel中应用数据透视表的文章就介绍到这了,更多相关Python Excel数据透视表内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • 使用Python在Excel工作表中创建数据透视表的方法
    • python pandas最常用透视表实现应用案例
    • 如何使用Python实现数据透视表、音频文件格式转换
    • Python制作数据分析透视表的方法详解
    • Python+Pandas实现数据透视表
    • 用Python实现数据的透视表的方法
    • Python实现数据透视表详解

    站内搜索