为什么选择 Python 的 Aspose.Cells via Java

可能的使用场景

当您需要比较哪种产品最适合您的解决方案时,有许多标准可以评估,但主要关注点通常是功能和使用产品所需的工作量。如果您正在寻找一种更快、更简单、更轻量级的文件格式库来处理文件,那么您可能想要比较 Aspose.Cells for Python via Java 和其他 Excel Python 库。然后您将注意到实际上这些产品并不竞争,而是解决稍微不同的用户任务。
通过比较三种最强大的Python库(pandasxlwingsAspose.Cells for Python via Java),读取Excel文件、写入Excel文件和向Excel文件添加图表。您可以发现 Aspose.Cells for Python via Java 库的易用性,高性能和其他独特优势。

Python中多个Excel库的比较

让我们首先看一下能够操作Excel文件的Python中的十个库的比较。

为什么选择Aspose.Cells for Python via Java

Aspose.Cells for Python是一个强大、易于使用、高效和安全的库,适用于各种需要处理Excel文件的场景。使用Aspose.Cells for Python的许多理由,包括但不限于以下几点:

功能齐全

Aspose.Cells是一个功能强大的库,提供了处理Excel文件的各种功能,包括读取、写入、编辑、格式化、计算等。

易于使用

Aspose.Cells的API被设计成直观而易于使用,使Python开发人员能够轻松地将Excel功能集成到他们的应用程序中。

跨平台支持

Aspose.Cells支持多种操作系统,包括Windows、Linux和macOS,因此可以在各种环境中稳定运行。

高性能

Aspose.Cells在处理大型Excel文件时性能出色,并能够快速加载和保存数据,从而提高应用程序的性能。

安全性

Aspose.Cells提供数据保护和加密,以确保Excel文件不受未经授权的访问和修改。

多种文件格式

Aspose.Cells支持各种Excel文件格式,包括XLS、XLSX、CSV、ODS等,方便地与不同来源的数据交互。

良好的技术支持

Aspose.Cells提供全面的文档和示例代码,以帮助开发人员快速入门。同时,我们还提供专业的技术支持,解决使用过程中遇到的问题。

Aspose.Cells for Python via Java的优势

Aspose.Cells for Python 是一个功能齐全、易于使用、性能卓越、安全可靠、灵活、高度集成的库。无论处理小型还是大型Excel文件、数据分析、报告生成或其他Excel操作,Aspose.Cells提供了开发人员高效便捷的解决方案。Aspose.Cells for Python 具有以下优势:

灵活的API

Aspose.Cells的API提供丰富的功能,可以根据需要进行定制和扩展。这使得开发人员可以轻松实现自己的业务需求,而无需依赖其他工具或库。

支持多种编程语言

除了Python,Aspose.Cells还支持Java、C#、C++等编程语言。这意味着开发人员可以根据自己的偏好和技能选择最适合的编程语言来实现Excel功能。

高度集成

Aspose.Cells可以轻松地与其他Python库和框架(如Django、Flask等)集成。这使开发人员可以无缝地将Excel功能整合到其Web应用程序或桌面应用程序中,提高了应用程序的实用性和便利性。

从Excel文件读取数据

让我们从实际应用开始,并比较三个最强大的Python库(pandas、xlwings和Aspose.Cells for Python via Java),用于从sample file中读取数据。

使用Aspose.Cells for Python via Java从Excel文件中读取数据

import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get "Sheet1" worksheet
sheet1 = book.getWorksheets().get('Sheet1')
# Read b2 data from "Sheet1" worksheet
cell_B2_Sheet1 = sheet1.getCells().get("B2")
# Get "Sheet2" worksheet
sheet2 = book.getWorksheets().get('Sheet2')
# Read b2 data from "Sheet2" worksheet
cell_B2_Sheet2 = sheet2.getCells().get("B2")
# Print the read data
print("Data from B2 in Sheet1:", cell_B2_Sheet1.getValue())
print("Data from B2 in Sheet2:", cell_B2_Sheet2.getValue())
jpype.shutdownJVM()

使用xlwings从Excel文件读取数据

import xlwings as xw
# Open the Excel workbook
wb = xw.Book('sample_data.xlsx')
# Get "Sheet1" worksheet
sheet1 = wb.sheets['Sheet1']
# Read b2 data from "Sheet1" worksheet
cell_B2_Sheet1 = sheet1.range('B2')
# Get "Sheet2" worksheet
sheet2 = wb.sheets['Sheet2']
# Read b2 data from "Sheet2" worksheet
cell_B2_Sheet2 = sheet2.range('B2')
# Print the read data
print("Data from B2 in Sheet1:", cell_B2_Sheet1.value)
print("Data from B2 in Sheet2:", cell_B2_Sheet2.value)
# Close the workbook
wb.close()

使用pandas从Excel文件读取数据

import pandas as pd
# Replace 'sample_data.xlsx' with the path to your Excel file
# Replace 'Sheet1' with the name of the sheet if it's different
df = pd.read_excel('sample_data.xlsx', sheet_name='Sheet1', header=None)
# Accessing the data from B2 in "Sheet1"
cell_B2_Sheet1 = df.iloc[1, 1]
df2 = pd.read_excel('sample_data.xlsx', sheet_name='Sheet2', header=None)
# Accessing the data from B2 in "Sheet1"
cell_B2_Sheet2 = df2.iloc[1, 1]
print("Data from B2 in Sheet1:", cell_B2_Sheet1)
print("Data from B2 in Sheet2:", cell_B2_Sheet2)

向Excel文件写入数据

让我们从实际应用开始,并比较三个最强大的Python库(pandas、xlwings和Aspose.Cells for Python via Java),用于向Excel文件中写入数据。

使用Aspose.Cells for Python via Java将数据写入Excel文件

import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook
# Open a new workbook
book = Workbook()
# Add "Fruits" worksheet
sheet1 = book.getWorksheets().add('Fruits')
# Add "Vegetables" worksheet
sheet2 = book.getWorksheets().add('Vegetables')
# Set output file name
file_name = 'output_java.xlsx'
# write data to "Fruits" worksheet
sheet1.getCells().get('A1').setValue('Fruits')
sheet1.getCells().get('A2').setValue('Appple')
sheet1.getCells().get('A3').setValue('Banana')
sheet1.getCells().get('A4').setValue('Mango')
sheet1.getCells().get('B1').setValue('Sales in kg')
sheet1.getCells().get('B2').setValue(20)
sheet1.getCells().get('B3').setValue(30)
sheet1.getCells().get('B4').setValue(15)
# write data to "Vegetables" worksheet
sheet2.getCells().get('A1').setValue('Vegetables')
sheet2.getCells().get('A2').setValue('tomato')
sheet2.getCells().get('A3').setValue('Onion')
sheet2.getCells().get('A4').setValue('ladies finger')
sheet2.getCells().get('B1').setValue('Sales in kg')
sheet2.getCells().get('B2').setValue(200)
sheet2.getCells().get('B3').setValue(310)
sheet2.getCells().get('B4').setValue(115)
book.save(file_name)
jpype.shutdownJVM()

使用 xlwings 将数据写入 Excel 文件

import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
# add worksheet named "Fruits"
wb.sheets.add(name='Fruits')
sheet1 = wb.sheets['Fruits']
# add worksheet named "Vegetables"
wb.sheets.add(name='Vegetables')
sheet2 = wb.sheets['Vegetables']
# Set output file name
file_name = 'output.xlsx'
try:
# write data to "Fruits" worksheet
sheet1.range('A1').value = 'Fruits'
sheet1.range('A2').value = 'Appple'
sheet1.range('A3').value = 'Banana'
sheet1.range('A4').value = 'Mango'
sheet1.range('B1').value = 'Sales in kg'
sheet1.range('B2').value = 20
sheet1.range('B3').value = 30
sheet1.range('B4').value = 15
# write data to "Vegetables" worksheet
sheet2.range('A1').value = 'Vegetables'
sheet2.range('A2').value = 'tomato'
sheet2.range('A3').value = 'Onion'
sheet2.range('A4').value = 'ladies finger'
sheet2.range('B1').value = 'Sales in kg'
sheet2.range('B2').value = 200
sheet2.range('B3').value = 310
sheet2.range('B4').value = 115
wb.save(file_name)
wb.close()
app.quit()
except Exception:
wb.close()
app.quit()

使用 pandas 将数据写入 Excel 文件

# import the python pandas package
import pandas as pd
# create data_frame1 by creating a dictionary
# in which values are stored as list
data_frame1 = pd.DataFrame({'Fruits': ['Appple', 'Banana', 'Mango'], 'Sales in kg': [20, 30, 15]})
# create data_frame2 by creating a dictionary
# in which values are stored as list
data_frame2 = pd.DataFrame({'Vegetables': ['tomato', 'Onion', 'ladies finger'], 'Sales in kg': [200, 310, 115]})
# Set output file name
file_name = 'output.xlsx'
# create a excel writer object
with pd.ExcelWriter(file_name) as writer:
# use to_excel function and specify the sheet_name and index
# to store the dataframe in specified sheet
data_frame1.to_excel(writer, sheet_name="Fruits", index=False)
data_frame2.to_excel(writer, sheet_name="Vegetables", index=False)

向 Excel 文件添加图表

从实际应用开始,比较三个最强大的Python库(pandasxlwingsAspose.Cells for Python via Java),以便将图表添加到Excel文件。

使用Aspose.Cells for Python via Java向Excel文件添加图表

import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook, ChartType
# Open a new workbook
book = Workbook()
# Add "DataSheet" worksheet
sheet1 = book.getWorksheets().add('DataSheet')
# Set output file name
file_name = 'output_java.xlsx'
# write data to "DataSheet" worksheet
sheet1.getCells().get('A1').setValue('Category')
sheet1.getCells().get('A2').setValue('A')
sheet1.getCells().get('A3').setValue('B')
sheet1.getCells().get('A4').setValue('C')
sheet1.getCells().get('A5').setValue('D')
sheet1.getCells().get('A6').setValue('E')
sheet1.getCells().get('B1').setValue('Value')
sheet1.getCells().get('B2').setValue(10)
sheet1.getCells().get('B3').setValue(20)
sheet1.getCells().get('B4').setValue(30)
sheet1.getCells().get('B5').setValue(20)
sheet1.getCells().get('B6').setValue(15)
# Adding a chart to the worksheet
chartIndex = sheet1.getCharts().add(ChartType.COLUMN, 6, 0, 20, 7)
# Accessing the instance of the newly added chart
chart = sheet1.getCharts().get(chartIndex)
#Setting chart data source as the range "DataSheet!A1:B6"
chart.setChartDataRange('DataSheet!A1:B6', True)
chart.getTitle().setText('Sample Chart')
book.save(file_name)

使用 xlwings 向 Excel 文件添加图表

import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
# add worksheet named "DataSheet"
wb.sheets.add(name='DataSheet')
sheet1 = wb.sheets['DataSheet']
# Set output file name
file_name = 'output.xlsx'
try:
# write data to "DataSheet" worksheet
sheet1.range('A1').value = 'Category'
sheet1.range('A2').value = 'A'
sheet1.range('A3').value = 'B'
sheet1.range('A4').value = 'C'
sheet1.range('A5').value = 'D'
sheet1.range('A6').value = 'E'
sheet1.range('B1').value = 'Value'
sheet1.range('B2').value = 10
sheet1.range('B3').value = 20
sheet1.range('B4').value = 30
sheet1.range('B5').value = 20
sheet1.range('B6').value = 15
# add a chart
chart = sheet1.charts.add(150,50)
# set data source for chart
chart.set_source_data(sheet1.range('A1').expand())
# set chart type
chart.chart_type = 'column_clustered'
# set title name
chart.api[1].ChartTitle.Text = 'Sample Chart'
chart.api[1].Axes(1).HasTitle = True
chart.api[1].Axes(2).HasTitle = True
chart.api[1].Axes(1).AxisTitle.Text = 'Category'
chart.api[1].Axes(2).AxisTitle.Text = 'Value'
wb.save(file_name)
wb.close()
app.quit()
app.kill()
except Exception:
wb.close()
app.quit()
app.kill()

使用 pandas 向 Excel 文件添加图表

在Pandas中,您可以使用ExcelWriter对象和to_excel()函数将图表添加到Excel文件中。但是,请注意,Pandas本身不支持直接将图表嵌入Excel文件中,它只能将数据写入Excel文件。要添加图表,您需要使用openpyxl或xlsxwriter库来操作Excel文件。这里有一个使用xlsxwriter库向Excel文件添加图表的示例。

import pandas as pd
# create some data
data = {'Category': ['A', 'B', 'C', 'D', 'E'],
'Value': [10, 20, 30, 20, 15]}
df = pd.DataFrame(data)
# Set output file name
file_name = 'output.xlsx'
# write data to excel file
with pd.ExcelWriter(file_name, engine='xlsxwriter') as writer:
df.to_excel(writer, index=False, sheet_name='DataSheet')
# use xlsxwriter to create chart
workbook = writer.book
worksheet = writer.sheets['DataSheet']
chart = workbook.add_chart({'type': 'column'})
# set data for chart
chart.add_series({
'categories': '=DataSheet!$A$1:$A$5',
'values': '=DataSheet!$B$1:$B$5',
})
# set title for chart
chart.set_title({'name': 'Sample Chart'})
# add chart to excel file
worksheet.insert_chart('A7', chart)