欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表的方法

 更新時間:2025年01月12日 10:10:12   作者:Eiceblue  
在數(shù)據(jù)處理和分析工作中,Excel作為一個廣泛使用的工具,提供了強(qiáng)大的功能來管理和解析數(shù)據(jù),當(dāng)面對大量復(fù)雜的數(shù)據(jù)集時,為了更高效地總結(jié)、分析和展示數(shù)據(jù),創(chuàng)建數(shù)據(jù)透視表成為一種不可或缺的方法,本文將介紹如何使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表

引言

在數(shù)據(jù)處理和分析工作中,Excel作為一個廣泛使用的工具,提供了強(qiáng)大的功能來管理和解析數(shù)據(jù)。當(dāng)面對大量復(fù)雜的數(shù)據(jù)集時,為了更高效地總結(jié)、分析和展示數(shù)據(jù),創(chuàng)建數(shù)據(jù)透視表成為一種不可或缺的方法。通過使用Python這樣的編程語言與Excel工作表結(jié)合,我們能夠自動化數(shù)據(jù)透視表的生成過程,不僅節(jié)省了時間,還能確保每次操作的一致性和準(zhǔn)確性。本文將介紹如何使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表。

本文所使用的方法需要用到的Spire.XLS for Python,PyPI:pip install spire.xls

用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表

在Excel工作表匯總創(chuàng)建數(shù)據(jù)透視表時,我們需要先用指定的單元格范圍通過Workbook.PivotCaches.Add(CellRange)方法創(chuàng)建一個XlsPivotCache對象,然后再使用Worksheet.PivotTables.Add(name: string, location: CellRange, XlsPivotCache)基于XlsPivotCache對象創(chuàng)建數(shù)據(jù)透視表。創(chuàng)建好之后,還需要對數(shù)據(jù)透視表的行字段、列字段、值字段等進(jìn)行設(shè)置,最后制作成一個完善的數(shù)據(jù)透視表。以下是操作步驟示例:

  1. 導(dǎo)入所需的類WorkbookAxisTypesPivotBuiltInStylesSubtotalTypes, 和 PivotAutoFomatTypes。
  2. 創(chuàng)建Workbook類的實(shí)例。
  3. 使用Workbook.LoadFromFile方法載入指定路徑的現(xiàn)有Excel文件到工作簿實(shí)例中。
  4. 使用Workbook.Worksheets.get_Item方法獲取工作簿中的一個工作表。
  5. 定義數(shù)據(jù)源范圍:通過Worksheet.Range.get_Item方法選取單元格區(qū)域。
  6. 使用Workbook.PivotCaches.Add方法添加數(shù)據(jù)源范圍到工作簿的緩存中創(chuàng)建一個XlsPivotCache對象。
  7. 在當(dāng)前工作表中定義位置并使用Worksheet.PivotTables.Add方法以及之前創(chuàng)建的XlsPivotCache對象創(chuàng)建一個數(shù)據(jù)透視表。數(shù)據(jù)透視表可創(chuàng)建在其他工作表中。
  8. 為數(shù)據(jù)透視表添加行字段,通過XlsPivotTable.PivotFields.get_Item方法選擇對應(yīng)的列,并設(shè)置其軸類型為行。
  9. 添加列字段,同樣通過XlsPivotTable.PivotFields.get_Item方法選擇列,并設(shè)置其軸類型為列。
  10. 添加值字段,選擇需要求和的數(shù)據(jù)列,并通過XlsPivotTable.DataFields.Add方法添加到數(shù)據(jù)透視表中。
  11. 使用XlsPivotCache.CalculateData()方法更新數(shù)據(jù)透視表值。
  12. 使用XlsPivotTable.BuiltInStyle屬性應(yīng)用內(nèi)置樣式。
  13. 使用XlsPivotTable.AutoFormatType屬性設(shè)置數(shù)據(jù)透視表的自動格式類型。
  14. 使用Workbook.SaveToFile方法保存修改后的工作簿到指定路徑。
  15. 釋放資源。

代碼示例

from spire.xls import Workbook, AxisTypes, PivotBuiltInStyles, SubtotalTypes, PivotAutoFomatTypes

# 創(chuàng)建Workbook實(shí)例
workbook = Workbook()

# 載入Excel文件
workbook.LoadFromFile("Sample.xlsx")

# 獲取第一個工作表
sheet = workbook.Worksheets.get_Item(0)

# 獲取數(shù)據(jù)源單元格范圍
dataRange = sheet.Range.get_Item("A1:E143")

# 用數(shù)據(jù)源創(chuàng)建XlsPivotCache對象
pivotCache = workbook.PivotCaches.Add(dataRange)

# 使用XlsPivotCache對象在當(dāng)前工作表中創(chuàng)建數(shù)據(jù)透視表
pivotTable = sheet.PivotTables.Add("銷售分析", sheet.Range.get_Item("G2"), pivotCache)

# 使用XlsPivotCache對象在新的工作表中創(chuàng)建數(shù)據(jù)透視表
#sheet2 = workbook.Worksheets.Add("銷售分析")
#pivotTable2 = sheet.PivotTables.Add("銷售分析", sheet.Range.get_Item("A1"), pivotCache)

# 添加行字段
rowField1 = pivotTable.PivotFields.get_Item(sheet.Range.get_Item("C1").Value)
rowField1.Axis = AxisTypes.Row
rowField2 = pivotTable.PivotFields.get_Item(sheet.Range.get_Item("D1").Value)
rowField2.Axis = AxisTypes.Row

# 添加列字段
columnField1 = pivotTable.PivotFields.get_Item(sheet.Range.get_Item("B1").Value)
columnField1.Axis = AxisTypes.Column

# 添加值字段
dataField1 = pivotTable.PivotFields.get_Item(sheet.Range.get_Item("E1").Value)
pivotTable.DataFields.Add(dataField1, "求和項(xiàng):" + sheet.Range.get_Item("E1").Value, SubtotalTypes.Sum)

# 計(jì)算值
pivotTable.CalculateData()

# 設(shè)置數(shù)據(jù)透視表樣式
pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleLight2

# 設(shè)置數(shù)據(jù)透視表自動格式
pivotTable.AutoFormatType = PivotAutoFomatTypes.Table2

# 保存工作簿
workbook.SaveToFile("output/Excel數(shù)據(jù)透視表.xlsx")
workbook.Dispose()

結(jié)果

本文演示如何使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表,提供操作詳解以及代碼示例。

到此這篇關(guān)于使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表的方法的文章就介紹到這了,更多相關(guān)Python Excel數(shù)據(jù)透視表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows和Linux下使用Python訪問SqlServer的方法介紹

    Windows和Linux下使用Python訪問SqlServer的方法介紹

    這篇文章主要介紹了Windows和Linux下使用Python訪問SqlServer的方法介紹,本文講解了Windows下配置Python訪問Sqlserver、Linux下配置Python訪問SqlServer等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Python基礎(chǔ)之進(jìn)程詳解

    Python基礎(chǔ)之進(jìn)程詳解

    今天帶大家學(xué)習(xí)Python基礎(chǔ)知識,文中對python進(jìn)程作了詳細(xì)的介紹,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • python讀取word 中指定位置的表格及表格數(shù)據(jù)

    python讀取word 中指定位置的表格及表格數(shù)據(jù)

    這篇文章主要介紹了python讀取word 中指定位置的表格及表格數(shù)據(jù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-10-10
  • 對python多線程中Lock()與RLock()鎖詳解

    對python多線程中Lock()與RLock()鎖詳解

    今天小編就為大家分享一篇對python多線程中Lock()與RLock()鎖詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python基礎(chǔ)之模塊詳解

    Python基礎(chǔ)之模塊詳解

    本文詳細(xì)講解了Python基礎(chǔ)之模塊,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 使用Python進(jìn)行QQ批量登錄的實(shí)例代碼

    使用Python進(jìn)行QQ批量登錄的實(shí)例代碼

    這篇文章主要介紹了使用Python進(jìn)行QQ批量登錄的實(shí)例代碼,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • python3連接MySQL數(shù)據(jù)庫實(shí)例詳解

    python3連接MySQL數(shù)據(jù)庫實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了python3連接MySQL數(shù)據(jù)庫實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python使用open函數(shù)對文件進(jìn)行處理詳解

    python使用open函數(shù)對文件進(jìn)行處理詳解

    今天看了open函數(shù),看到w+ r+ a+ 這種可讀可寫的操作,下面這篇文章主要給大家介紹了關(guān)于python使用open函數(shù)對文件進(jìn)行處理的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python中字符串內(nèi)置函數(shù)的用法總結(jié)

    python中字符串內(nèi)置函數(shù)的用法總結(jié)

    這篇文章給大家總結(jié)了python中字符串內(nèi)置函數(shù)的用法以及相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友學(xué)習(xí)下。
    2018-09-09
  • Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能

    Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能

    這篇文章主要介紹了Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能,簡單介紹了progressbar模塊的安裝,并結(jié)合實(shí)例形式分析了Python使用progressbar模塊顯示進(jìn)度條的相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05

最新評論