
在技术进步的今天,包括数据科学家、分析师和自动化工程师在内的一大批专业人士都倾向于使用无处不在的编程语言 Python 作为与 Excel 无缝集成的工具(XLS,XLSX) 文件,他们在日常活动中敷衍了事。事实上,Python 库提供了一种自动化任务和实现数据操作的巧妙方法,从而避免了手动操作 Excel 文件的费力过程。本文将为您提供一种了解使用 Python 进行 Excel 操作的方法,现在让我们学习如何使用 Python Excel 库*在 Python 中创建和读取 Excel 文件。此外,我们将解释如何使用 Python 在 Excel 文件中插入数据、数据透视表和图表。
本文将涵盖以下几点:
- 安装Python Excel库
- 用 Python 读取 Excel 文件
- 在 Python 中创建 Excel 文件
- 使用 Python 写入 Excel 工作表
- 使用 Python 在 Excel 工作表中创建图表
- 使用Python在Excel中添加数据透视表
Python Excel 库 - 安装
要在 Python 中创建和读取 Excel(XLS、XLSX)文件,我们将使用 Aspose.Cells for Python via Java。这个Python Excel 库的功效体现在它能够满足与 Excel 文件相关的一系列任务,例如数据提取、数据操作,甚至从头开始创建 Excel 文件。
请下载 或使用下面给出的 pip 命令从 PyPI 安装软件包:
pip install aspose-cells
在 Python 中读取 Excel 文件
众所周知,一个 Excel 工作簿由一个或多个工作表组成,每个工作表都由由行索引和列索引标识的单元格网格组成。有许多包可用于用 Python 读取 Excel 文件,但在本节中,我们将使用 Aspose Python Excel 库。
以下是在 Python 中读取 XLSX 的步骤:
- 首先,使用 Workbook 类加载 Excel 文件。
- 然后,使用 Workbook.getWorksheets() 方法获取对 WorksheetCollection 的引用。
- 最后,遍历集合中的工作表,对于每个工作表,遍历其行和列以访问和打印单元格值。
以下代码示例演示了如何使用 Python 读取 Excel 文件。
| # Load Excel workbook | |
| wb = Workbook("workbook.xlsx") | |
| # Get worksheets collection | |
| collection = wb.getWorksheets() | |
| collectionCount = collection.getCount() | |
| # Loop through all the worksheets | |
| for worksheetIndex in range(collectionCount): | |
| # Get worksheet using its index | |
| worksheet = collection.get(worksheetIndex) | |
| # Print worksheet name | |
| print("Worksheet: " + str(worksheet.getName())) | |
| # Get number of rows and columns | |
| rows = worksheet.getCells().getMaxDataRow() | |
| cols = worksheet.getCells().getMaxDataColumn() | |
| # Loop through rows | |
| for i in range(rows): | |
| # Loop through each column in selected row | |
| for j in range(cols): | |
| # Print cell value | |
| print(worksheet.getCells().get(i, j).getValue(), end =" | ") | |
| # Print line break | |
| print("\n") |
要获取所需工作表的引用,您可以使用 Workbook.getWorksheets().get(index) 方法。以下代码示例显示了这种情况。
| # Load Excel workbook | |
| wb = Workbook("workbook.xlsx") | |
| # Get worksheets collection | |
| worksheet = wb.getWorksheets().get(0) | |
| # Print worksheet name | |
| print("Worksheet: " + str(worksheet.getName())) | |
| # Get number of rows and columns | |
| rows = worksheet.getCells().getMaxDataRow() | |
| cols = worksheet.getCells().getMaxDataColumn() | |
| # Loop through rows | |
| for i in range(rows): | |
| # Loop through each column in selected row | |
| for j in range(cols): | |
| # print cell value | |
| print(worksheet.getCells().get(i, j).getValue(), end =" | ") | |
| # Print line break | |
| print("\n") |
Python 创建 Excel 文件
在本节中,您将学习如何使用 Python 创建 Excel 文件。
以下是在 Python 中创建 Excel 文件的步骤:
- 首先,新建一个Workbook类的对象。
- 其次,使用 Workbook.getWorksheets().get(index) 方法获取所需 Worksheet 的引用。
- 之后,使用 Worksheet.getCells().get().putValue() 方法在所需的单元格中插入值。
- 最后,使用Workbook.Save方法保存工作簿。
以下代码示例演示了如何使用 Python 创建 Excel 文件。
| # create a new XLSX workbook | |
| wb = Workbook(FileFormatType.XLSX) | |
| # insert value in the cells | |
| wb.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!") | |
| # save workbook as .xlsx file | |
| wb.save("workbook.xlsx") |
您将看到如下输出:

Python 向 Excel 写入数据
到目前为止,我们已经学习了如何使用我们的Python Excel 库在 Python 中创建和读取 Excel 文件。现在是时候学习我们强大的 Python Excel 包的其他显着特性了。让我们将一些数据写入 Excel 文件。您可以按照我们在前面部分中讨论的那样创建或加载 Excel 文件。通过了解工作表中的单元格位置,您可以使用 Worksheet.getCells().get().putValue() 方法轻松地将数据写入 Excel 文件。
将数据写入Excel文件的Python代码如下:
| # create a new XLSX workbook | |
| wb = Workbook("workbook.xlsx") | |
| # insert value in the cells | |
| wb.getWorksheets().get(0).getCells().get("A1").putValue("Location") | |
| wb.getWorksheets().get(0).getCells().get("B1").putValue("Person") | |
| wb.getWorksheets().get(0).getCells().get("A2").putValue("Home") | |
| wb.getWorksheets().get(0).getCells().get("B2").putValue("abc") | |
| wb.getWorksheets().get(0).getCells().get("A3").putValue("Office") | |
| wb.getWorksheets().get(0).getCells().get("B3").putValue("xyz") | |
| # save workbook as .xlsx file | |
| wb.save("workbook-updated.xlsx") |
输出将如下所示:

Python 在 Excel 工作表中创建图表
当您在 Excel 中创建图表时,您基本上是在生成数据的可视化图片,使您能够有效地表达数据中存在的复杂联系、进展和细微差别。我们的 Python Excel 库提供了广泛的图表类型,从条形图到柱形图、折线图到散点图、饼图到其他可以根据用户的特定要求和偏好进行调整和定制的图形替代品。让我们讨论如何在 Excel 工作表中创建图表。
Python在Excel文件中创建图表的步骤如下:
- 使用 Workbook 类创建或加载 Excel 文件。
- 在所需工作表的单元格中添加值。
- 使用Worksheet.getCharts() 方法获取图表集合。
- 使用 Worksheet.getCharts().add(type, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) 方法在图表集合中添加新图表。
- 为图表指定 NSeries。
- 使用 Workbook.save(fileName) 方法保存 Excel 文件。
以下代码显示了如何使用 Python 在 Excel 工作表中创建图表:
| # create a new XLSX workbook | |
| workbook = Workbook(FileFormatType.XLSX) | |
| # obtaining the reference of the first worksheet | |
| worksheets = workbook.getWorksheets() | |
| sheet = worksheets.get(0) | |
| # adding some sample value to cells | |
| cells = sheet.getCells() | |
| cell = cells.get("A1") | |
| cell.setValue(50) | |
| cell = cells.get("A2") | |
| cell.setValue(100) | |
| cell = cells.get("A3") | |
| cell.setValue(150) | |
| cell = cells.get("B1") | |
| cell.setValue(4) | |
| cell = cells.get("B2") | |
| cell.setValue(20) | |
| cell = cells.get("B3") | |
| cell.setValue(50) | |
| # get charts in worksheet | |
| charts = sheet.getCharts() | |
| # adding a chart to the worksheet | |
| chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5) | |
| chart = charts.get(chartIndex) | |
| # adding NSeries (chart data source) to the chart ranging from "A1" | |
| # cell to "B3" | |
| serieses = chart.getNSeries() | |
| serieses.add("A1:B3", True) | |
| # write the Excel file | |
| workbook.save("workbook_with_chart.xlsx") |
以下屏幕截图显示了上述代码的输出。

Python Excel 数据透视表:如何使用 Python 在 Excel 中创建数据透视表
Excel 的数据透视表可以让用户快速熟练地检查海量数据。它还将数据仔细地组织和汇总成一种流畅的流线型格式,这种格式不仅在视觉上具有吸引力,而且在挖掘数据中隐藏的趋势、难以捉摸的模式和错综复杂的关系方面也非常有效。在本节中,您将学习如何使用 Python 在 Excel 中创建数据透视表。
下面给出了用 Python 在 Excel 中插入数据透视表的步骤:
- 首先,使用 Workbook 类加载或创建一个新的 Excel 文件。
- 然后,将所需数据添加到工作表中。
- 之后,使用 Worksheet.getPivotTables().add(sourceData, destCellName, tableName) 方法插入一个新的数据透视表。
- 然后,指定数据透视表的行、列和数据区域。
- 最后,保存工作簿。
以下代码演示了如何使用 Python 在 Excel 工作表中创建数据透视表:
| # create a new XLSX workbook | |
| workbook = Workbook(FileFormatType.XLSX) | |
| # obtaining the reference of the newly added worksheet | |
| sheetIndex = workbook.getWorksheets().add() | |
| sheet = workbook.getWorksheets().get(sheetIndex) | |
| cells = sheet.getCells() | |
| # setting the value to the cells | |
| cell = cells.get("A1") | |
| cell.setValue("Sport") | |
| cell = cells.get("B1") | |
| cell.setValue("Quarter") | |
| cell = cells.get("C1") | |
| cell.setValue("Sales") | |
| cell = cells.get("A2") | |
| cell.setValue("Golf") | |
| cell = cells.get("A3") | |
| cell.setValue("Golf") | |
| cell = cells.get("A4") | |
| cell.setValue("Tennis") | |
| cell = cells.get("A5") | |
| cell.setValue("Tennis") | |
| cell = cells.get("A6") | |
| cell.setValue("Tennis") | |
| cell = cells.get("A7") | |
| cell.setValue("Tennis") | |
| cell = cells.get("A8") | |
| cell.setValue("Golf") | |
| cell = cells.get("B2") | |
| cell.setValue("Qtr3") | |
| cell = cells.get("B3") | |
| cell.setValue("Qtr4") | |
| cell = cells.get("B4") | |
| cell.setValue("Qtr3") | |
| cell = cells.get("B5") | |
| cell.setValue("Qtr4") | |
| cell = cells.get("B6") | |
| cell.setValue("Qtr3") | |
| cell = cells.get("B7") | |
| cell.setValue("Qtr4") | |
| cell = cells.get("B8") | |
| cell.setValue("Qtr3") | |
| cell = cells.get("C2") | |
| cell.setValue(1500) | |
| cell = cells.get("C3") | |
| cell.setValue(2000) | |
| cell = cells.get("C4") | |
| cell.setValue(600) | |
| cell = cells.get("C5") | |
| cell.setValue(1500) | |
| cell = cells.get("C6") | |
| cell.setValue(4070) | |
| cell = cells.get("C7") | |
| cell.setValue(5000) | |
| cell = cells.get("C8") | |
| cell.setValue(6430) | |
| pivotTables = sheet.getPivotTables() | |
| # adding a PivotTable to the worksheet | |
| index = pivotTables.add("=A1:C8", "E3", "PivotTable1") | |
| # accessing the instance of the newly added PivotTable | |
| pivotTable = pivotTables.get(index) | |
| # unshowing grand totals for rows. | |
| pivotTable.setRowGrand(False) | |
| # dragging the first field to the row area. | |
| pivotTable.addFieldToArea(PivotFieldType.ROW, 0) | |
| # dragging the second field to the column area. | |
| pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1) | |
| # dragging the third field to the data area. | |
| pivotTable.addFieldToArea(PivotFieldType.DATA, 2) | |
| # write the Excel file | |
| workbook.save("workbook_with_pivot_table.xlsx") |
下图显示了上述代码的输出。

获得免费许可证
您可以下载 免费临时许可证 来测试没有评估限制的 API。
加起来
总而言之,我们希望您已经学会了如何使用 Python 创建和读取 Excel 文件。我们已经简要解释了这两种情况。此外,您还了解了如何使用我们强大的 Python Excel 操作库 在 Excel 中添加数据透视表、图表和简单数据。
要了解有关 Python Excel 库 的更多信息,您可以访问 文档。
最后,请继续访问 conholdate.com 以获取定期更新。
问一个问题
您可以在我们的 论坛 中发表您的问题或意见。