为什么选择Aspose.Cells for Python via NET
可能的使用场景
当您需要比较哪种产品对您的解决方案最佳时,有许多评估标准,但主要关注通常会集中在功能和使用产品所需的努力上。如果您正在寻找一个更快、更简单、更轻量级的文件格式库来处理文件,那么您可能需要比较Aspose.Cells for Python via NET和其他excel python库。然后您将会注意到实际上这些产品并不相互竞争,而是解决略有不同的用户任务。
通过比较三个最强大的Python库(pandas,xlwings 和 Aspose.Cells for Python via NET)来从Excel文件中读取数据,将数据写入Excel文件并在Excel文件中添加图表。您可以发现Aspose.Cells for Python via NET库的易用性、高性能和其他独特优势。
- 使用xlwings、pandas和Aspose.Cells Python Excel库从Excel文件中读取数据
- 使用xlwings、pandas和Aspose.Cells Python Excel库将数据写入Excel文件
- 使用xlwings、pandas和Aspose.Cells Python Excel库在Excel文件中添加图表
Python中多个Excel库的比较
让我们首先看一下能够操作Excel文件的Python中的十个库的比较。
为什么选择Aspose.Cells for Python via NET
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 NET 的优势
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 NET)从 示例文件 读取数据。
使用Aspose.Cells for Python via NET从Excel文件读取数据
import aspose.cells | |
from aspose.cells import Workbook | |
# Open the Excel workbook | |
book = Workbook("sample_data.xlsx") | |
# Get "Sheet1" worksheet | |
sheet1 = book.worksheets.get('Sheet1') | |
# Read b2 data from "Sheet1" worksheet | |
cell_B2_Sheet1 = sheet1.cells.get("B2") | |
# Get "Sheet2" worksheet | |
sheet2 = book.worksheets.get('Sheet2') | |
# Read b2 data from "Sheet2" worksheet | |
cell_B2_Sheet2 = sheet2.cells.get("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) |
使用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 NET)在将数据写入Excel文件方面的性能。
使用 Aspose.Cells for Python via NET 将数据写入 Excel 文件
import aspose.cells | |
from aspose.cells import Workbook | |
# Open a new workbook | |
book = Workbook() | |
# Add "Fruits" worksheet | |
sheet1 = book.worksheets.add('Fruits') | |
# Add "Vegetables" worksheet | |
sheet2 = book.worksheets.add('Vegetables') | |
# Set output file name | |
file_name = 'output.xlsx' | |
# write data to "Fruits" worksheet | |
sheet1.cells.get('A1').value = 'Fruits' | |
sheet1.cells.get('A2').value = 'Appple' | |
sheet1.cells.get('A3').value = 'Banana' | |
sheet1.cells.get('A4').value = 'Mango' | |
sheet1.cells.get('B1').value = 'Sales in kg' | |
sheet1.cells.get('B2').value = 20 | |
sheet1.cells.get('B3').value = 30 | |
sheet1.cells.get('B4').value = 15 | |
# write data to "Vegetables" worksheet | |
sheet2.cells.get('A1').value = 'Vegetables' | |
sheet2.cells.get('A2').value = 'tomato' | |
sheet2.cells.get('A3').value = 'Onion' | |
sheet2.cells.get('A4').value = 'ladies finger' | |
sheet2.cells.get('B1').value = 'Sales in kg' | |
sheet2.cells.get('B2').value = 200 | |
sheet2.cells.get('B3').value = 310 | |
sheet2.cells.get('B4').value = 115 | |
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 "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库(pandas、xlwings和Aspose.Cells for Python via NET)在向Excel文件添加图表方面的性能。
使用 Aspose.Cells for Python via NET 向 Excel 文件添加图表
import aspose.cells | |
import aspose.cells.charts | |
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# Open a new workbook | |
book = Workbook() | |
# Add "DataSheet" worksheet | |
sheet1 = book.worksheets.add('DataSheet') | |
# Set output file name | |
file_name = 'output.xlsx' | |
# write data to "DataSheet" worksheet | |
sheet1.cells.get('A1').value = 'Category' | |
sheet1.cells.get('A2').value = 'A' | |
sheet1.cells.get('A3').value = 'B' | |
sheet1.cells.get('A4').value = 'C' | |
sheet1.cells.get('A5').value = 'D' | |
sheet1.cells.get('A6').value = 'E' | |
sheet1.cells.get('B1').value = 'Value' | |
sheet1.cells.get('B2').value = 10 | |
sheet1.cells.get('B3').value = 20 | |
sheet1.cells.get('B4').value = 30 | |
sheet1.cells.get('B5').value = 20 | |
sheet1.cells.get('B6').value = 15 | |
# Adding a chart to the worksheet | |
chartIndex = sheet1.charts.add(ChartType.COLUMN, 6, 0, 20, 7) | |
# Accessing the instance of the newly added chart | |
chart = sheet1.charts.get(chartIndex) | |
#Setting chart data source as the range "DataSheet!A1:B6" | |
chart.set_chart_data_range('DataSheet!A1:B6', True) | |
chart.title.text = '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) |