توسعهدهندگان اغلب نیاز دارند که یک DataFrame پاندا را به Excel صادر کنند. Excel ابزاری عالی برای به اشتراکگذاری و بررسی گزارشها است. پایتون با پاندا این کار را آسان میکند، اما استفاده از Aspose.Cells برای پایتون کنترل بیشتری به شما میدهد. شما میتوانید یک DataFrame را به طور مستقیم به Excel تبدیل کنید، از طریق CSV، از طریق JSON، یا حتی چندین DataFrame را به یک فایل صادر کنید. در این مقاله، شما یاد خواهید گرفت که چگونه یک DataFrame پاندا را با چهار روش مرحله به مرحله به Excel تبدیل کنید.
چرا از Aspose.Cells برای تبدیل Pandas به Excel استفاده کنیم
کتابخانه Pandas یک تابع داخلی toexcel() دارد. این تابع برای صادراتهای اولیه کار میکند اما در ویژگیها محدود است. Aspose.Cells for Python یکی از بهترین کتابخانههای Excel در Python برای توسعهدهندگان است که یک موتور کامل Excel را فراهم میکند. این کتابخانه به شما اجازه میدهد تا DataFrameها را با قابلیت اطمینان بالا به Excel ذخیره کنید. همچنین میتوانید با نمودارها، فرمولها، فرمتدهی و فایلهای بزرگ کار کنید.
این مقاله به شما نشان میدهد که چگونه یک DataFrame از Pandas را به Excel با استفاده از Aspose.Cells به روشهای مختلف صادر کنید.
قبل از شروع، مطمئن شوید که موارد زیر نصب شدهاند:
- دانلود Aspose.Cells برای پایتون از ریلیزها یا با استفاده از pip نصب کنید:
pip install aspose-cells-python
- Pandas – نصب با pip:
pip install pandas
این دو کتابخانه به شما اجازه میدهند تا DataFrame های Pandas را به فایلهای Excel تبدیل کنید.
روش 1: تبدیل DataFrame به Excel به طور مستقیم با Aspose.Cells
رایجترین کار این است که یک DataFrame پاندا را به طور مستقیم به Excel صادر کنید. با Aspose.Cells، میتوانید یک workbook ایجاد کنید، مقادیر DataFrame را وارد کنید و آن را به عنوان یک فایل Excel ذخیره کنید.
مراحل زیر را برای تبدیل DataFrame به Excel دنبال کنید:
- Build a sample dataset.
- یک دفتر کار خالی Excel ایجاد کنید.
- به شیت اول در ورک بوک دسترسی پیدا کنید.
- نام ستونهای DataFrame را در سلولهای Excel وارد کنید.
- از هر ردیف در DataFrame عبور کنید و مقادیر را در سلولها قرار دهید.
- کتاب کار نهایی را به یک فایل Excel صادر کنید.
مثال کد زیر نشان میدهد که چگونه میتوان یک Pandas را مستقیماً به Excel تبدیل کرد:
import aspose.cells as ac
import pandas as pd
# مرحله ۱: یک DataFrame نمونه ایجاد کنید
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# مرحله 2: یک دفترکار جدید ایجاد کنید
wb = ac.Workbook()
# مرحله ۳: دریافت اولین برگه کار جدولی
worksheet = wb.worksheets[0]
# مرحله ۴: مجموعه سلولها را دریافت کنید
cells = worksheet.cells
# مرحله ۵: نامهای ستون DataFrame را به Excel بنویسید
rowindex = 0
colindex = 0
for column in df:
cell = cells.get(rowindex, colindex)
cell.put_value(df[column].name)
colindex += 1
# مرحله 6: نوشتن سطرهای DataFrame به اکسل
for index, row in df.iterrows():
rowindex += 1
colindex = 0
cell = cells.get(rowindex, colindex)
cell.put_value(row["name"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["age"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["city"])
colindex += 1
# مرحله ۷: دادهها را به عنوان اکسل ذخیره کنید
wb.save("direct_df_to_excel.xlsx")

DataFrame را مستقیماً با Aspose.Cells به Excel تبدیل کنید.
این کد DataFrame پانداس را در مکان داده شده به Excel ذخیره میکند. میتوانید مسیر را تغییر دهید تا با سیستم شما مطابقت داشته باشد.
این روش به شما کنترل کامل بر اینکه دادههای DataFrame پانداس چگونه به اکسل نوشته شوند، میدهد. این مستقیمترین راه برای تبدیل یک DF به اکسل با استفاده از Aspose.Cells است.
روش 2: تبدیل DataFrame به Excel از طریق CSV
یک روش ساده دیگر این است که ابتدا DataFrame پانداس خود را به عنوان CSV ذخیره کنید، سپس آن فایل CSV را با استفاده از Aspose.Cells به Excel تبدیل کنید. این کار زمانی مفید است که فرایند شما در حال حاضر خروجی CSV تولید میکند و هنوز به یک فایل Excel تمیز نیاز دارید.
لطفاً این مراحل را برای تبدیل DataFrame به اکسل از طریق CSV دنبال کنید:
- Build sample data.
- با استفاده از متد
tocsv()از کتابخانه Pandas، DataFrame را به صورت CSV ذخیره کنید. - CSV را به عنوان یک کتاب کار باز کنید.
- وارد کردن کاربرگ به فایل
.xlsx.
متن کد زیر نحوه تبدیل Pandas به Excel از طریق CSV را نشان میدهد:
import aspose.cells as ac
import pandas as pd
# مرحله ۱: یک DataFrame نمونه ایجاد کنید
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# مرحله ۲: ذخیره DataFrame به عنوان CSV
df.to_csv("temp.csv", index=False)
# مرحله 3: بارگذاری فایل CSV با Aspose.Cells
wb = ac.Workbook("temp.csv")
# مرحله ۴: به عنوان فایل اکسل ذخیره کنید
wb.save("df_via_csv.xlsx")
این رویکرد ابتدا یک فایل CSV ایجاد میکند و سپس آن را به Excel تبدیل میکند. این اطمینان را میدهد که تبدیل Pandas شما به Excel حتی اگر پایپلاین شما در حال حاضر به فایلهای CSV وابسته باشد، به درستی کار میکند.
از این روش استفاده کنید زمانی که میخواهید به سرعت از CSV به Excel بروید در حالی که انعطافپذیری Pandas و Aspose.Cells را حفظ کنید.
روش ۳: تبدیل DataFrame به Excel از طریق JSON
بسیاری از APIها از JSON استفاده میکنند. شما همچنین میتوانید JSON را به Aspose.Cells برای ساخت یک شیت اکسل منتقل کنید. این روش ابتدا یک DataFrame از Pandas را به JSON تبدیل میکند، سپس آن JSON را به Excel به عنوان یک جدول بارگزاری میکند. این کار باعث میشود که صادرات pandas به Excel شما تمیز و قابل اعتماد باشد. همچنین زمانی که میخواهید کنترل دقیقی بر روی سرآیندها و نوع دادهها داشته باشید، کمک میکند.
لطفاً مراحل زیر را دنبال کنید:
- Build sample data for the demo.
df.tojson(orient='records')را صدا بزنید تا تبدیل شود.- کلاس
Workbook()را شناسایی کنید و اولین برگه کار را بگیرید. arrayastableرا برای وارد کردن صحیح جدول فعال کنید.- متد
JsonUtility.importdata()را برای وارد کردن JSON به سلولهای ورق کار فراخوانی کنید. - فایل نهایی را به
.xlsxبنویسید.
مثال کد زیر نشان میدهد که چگونه یک DataFrame پاندا را از طریق JSON به اکسل تبدیل کنیم:
import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells
# یک نمونه DataFrame از pandas ایجاد کنید
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# تبدیل DataFrame پانداس به JSON
json_string = df.to_json(orient='records')
workbook = Workbook()
# برگ کاری اول را بگیرید
worksheet = workbook.worksheets[0]
# سلول ها را بگیرید
cells = worksheet.cells
options = JsonLayoutOptions()
unit = JsonUtility()
# فرآیندها به عنوان جدول
options.array_as_table = True
# وارد کردن دادههای JSON به شیت کاری از ردیف ۰، ستون ۰
unit.import_data(json_string, cells, 0, 0, options)
# به عنوان فایل اکسل ذخیره کنید
workbook.save("df_via_json.xlsx")
orient='records' یک لیست از اشیاء تولید میکند. هر شیء کلیدها را به نامهای ستون نگاشت میکند. arrayastable=True به Aspose.Cells میگوید که آرایه را به عنوان یک جدول مناسب با سرستونها در نظر بگیرد. واردکننده مقادیر را در سلولها از A1 شروع به نوشتن میکند. این به شما یک طرح پیشبینیشده در اکسل میدهد.
روش ۴: صادرات چندین DataFrame به شیتهای اکسل
شما میتوانید بیش از یک DataFrame پاندا را به یک فایل Excel واحد بنویسید. هر DataFrame به برگه خود میرود. این روش برای صادرات تمیز پاندا به Excel برای گزارشها و جدولهای گروهبندی شده به شما کمک میکند.
لطفا مراحل زیر را دنبال کنید:
- یک تابع ایجاد کنید که چندین DataFrame را به چندین شیت بنویسد.
- یک دفترکار جدید را راهاندازی کنید.
- یک برگه برای هر DataFrame اضافه کنید و آن را از
sheetnamesنامگذاری کنید. - نامهای ستونها را در ردیف اول قرار دهید.
- از طریق لم tuple های DataFrame عبور کنید و مقادیر سلول را بنویسید.
- به عنوان XLSX با متد
workbook.save()صادر کنید.
مثال کد زیر نشان میدهد که چگونه میتوان چندین DataFrame از Pandas را به شیتهای اکسل صادر کرد:
import pandas as pd
from aspose.cells import Workbook, WorksheetCollection, SaveFormat
def write_multiple_dataframes_to_excel(dataframes, sheet_names, output_path):
"""
Write multiple DataFrames to multiple sheets in an Excel file
:param dataframes: List of pandas.DataFrame
:param sheet_names: List of sheet names (same length as dataframes)
:param output_path: Output Excel file path
"""
# یک دفترچه کار خالی ایجاد کنید
workbook = Workbook()
# اختیاری: اگر به برگه خالی پیشفرض نیاز ندارید، آن را حذف کنید.
# workbook.worksheets.removeat(0)
for df, name in zip(dataframes, sheet_names):
# یک برگه جدید اضافه کنید
worksheet = workbook.worksheets.add(name)
cells = worksheet.cells
# عنوانهای ستون را بنویسید
for col_idx, col_name in enumerate(df.columns):
cells.get(0, col_idx).put_value(str(col_name))
# Write row data
for row_idx, row in enumerate(df.itertuples(index=False), start=1):
for col_idx, value in enumerate(row):
cells.get(row_idx, col_idx).put_value(value)
# به عنوان فایل اکسل ذخیره کنید
workbook.save(output_path, SaveFormat.XLSX)
# دو DataFrame ایجاد کنید
df1 = pd.DataFrame({
"Name": ["Alice", "Bob"],
"Age": [25, 30]
})
df2 = pd.DataFrame({
"Product": ["Book", "Pen"],
"Price": [10.5, 1.99]
})
# Write to Excel
write_multiple_dataframes_to_excel(
dataframes=[df1, df2],
sheet_names=["People", "Products"],
output_path="MultiDataFrame.xlsx"
)

چندرسانی چندین DataFrame پاندا به برگههای اکسل با Aspose.Cells.
تابع هر DataFrame را با یک نام شیت جفت میکند. آن در ردیف ۰ سربرگها و در ردیف ۱ دادهها را مینویسد. Aspose.Cells مقادیر را با نوعسازی قوی به سلولها مینویسد. فایل نهایی XLSX جداول شما را واضح و آماده برای اشتراک نگه میدارد.
عضویت رایگان دریافت کنید
Aspose.Cells for Python را از طریق .NET بدون محدودیت ارزیابی کنید. از license page یک مجوز موقت رایگان درخواست کنید. آن را در کد خود اعمال کنید تا محدودیتهای ارزیابی را حذف کنید. هر ویژگی را تست کنید، از جمله DF به Excel، نمودارها، فرمولها و فایلهای بزرگ.
پی دی اف به اکسل: منابع رایگان
لطفاً از این منابع استفاده کنید تا دانش خود را افزایش دهید و درک خود را بهبود بخشید.
نتیجه گیری
شما روشهای مختلفی برای صادرات یک DataFrame پاندا به اکسل با Aspose.Cells برای پایتون یاد گرفتهاید. میتوانید یک DataFrame را مستقیماً ذخیره کنید، از CSV استفاده کنید، از JSON استفاده کنید یا چندین DataFrame را در یک فایل بنویسید. هر روش ساده، سریع و قابل اطمینان است. اگر به دنبال ویژگیهای پیشرفته اکسل فراتر از پاندا هستید، Aspose.Cells گزینه مناسبی است. در پروژه بعدی خود آن را امتحان کنید و از پاندا به اکسل با کنترل کامل منتقل شوید.
اگر سوالی دارید، به فروم پشتیبانی رایگان ما مراجعه کنید. خوشحال خواهیم شد که به شما کمک کنیم.
