在 Python 中创建和读取 Excel 文件

在技术进步的今天,包括数据科学家、分析师和自动化工程师在内的一大批专业人士都倾向于使用无处不在的编程语言 Python 作为与 Excel 无缝集成的工具(XLSXLSX) 文件,他们在日常活动中敷衍了事。事实上,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 的步骤:

  1. 首先,使用 Workbook 类加载 Excel 文件。
  2. 然后,使用 Workbook.getWorksheets() 方法获取对 WorksheetCollection 的引用。
  3. 最后,遍历集合中的工作表,对于每个工作表,遍历其行和列以访问和打印单元格值。

以下代码示例演示了如何使用 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 文件的步骤:

  1. 首先,新建一个Workbook类的对象。
  2. 其次,使用 Workbook.getWorksheets().get(index) 方法获取所需 Worksheet 的引用。
  3. 之后,使用 Worksheet.getCells().get().putValue() 方法在所需的单元格中插入值。
  4. 最后,使用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 文件。现在是时候学习我们强大的 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 写入数据

Python 在 Excel 工作表中创建图表

当您在 Excel 中创建图表时,您基本上是在生成数据的可视化图片,使您能够有效地表达数据中存在的复杂联系、进展和细微差别。我们的 Python Excel 库提供了广泛的图表类型,从条形图到柱形图、折线图到散点图、饼图到其他可以根据用户的特定要求和偏好进行调整和定制的图形替代品。让我们讨论如何在 Excel 工作表中创建图表。

Python在Excel文件中创建图表的步骤如下:

  1. 使用 Workbook 类创建或加载 Excel 文件。
  2. 在所需工作表的单元格中添加值。
  3. 使用Worksheet.getCharts() 方法获取图表集合。
  4. 使用 Worksheet.getCharts().add(type, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) 方法在图表集合中添加新图表。
  5. 为图表指定 NSeries。
  6. 使用 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 数据透视表:如何使用 Python 在 Excel 中创建数据透视表

Excel 的数据透视表可以让用户快速熟练地检查海量数据。它还将数据仔细地组织和汇总成一种流畅的流线型格式,这种格式不仅在视觉上具有吸引力,而且在挖掘数据中隐藏的趋势、难以捉摸的模式和错综复杂的关系方面也非常有效。在本节中,您将学习如何使用 Python 在 Excel 中创建数据透视表。

下面给出了用 Python 在 Excel 中插入数据透视表的步骤:

  1. 首先,使用 Workbook 类加载或创建一个新的 Excel 文件。
  2. 然后,将所需数据添加到工作表中。
  3. 之后,使用 Worksheet.getPivotTables().add(sourceData, destCellName, tableName) 方法插入一个新的数据透视表。
  4. 然后,指定数据透视表的行、列和数据区域。
  5. 最后,保存工作簿。

以下代码演示了如何使用 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")

下图显示了上述代码的输出。

Python Excel 数据透视表

获得免费许可证

您可以下载 免费临时许可证 来测试没有评估限制的 API。

加起来

总而言之,我们希望您已经学会了如何使用 Python 创建和读取 Excel 文件。我们已经简要解释了这两种情况。此外,您还了解了如何使用我们强大的 Python Excel 操作库 在 Excel 中添加数据透视表、图表和简单数据。

要了解有关 Python Excel 库 的更多信息,您可以访问 文档

最后,请继续访问 conholdate.com 以获取定期更新。

问一个问题

您可以在我们的 论坛 中发表您的问题或意见。

也可以看看