นักพัฒนามักต้องการส่งออก Pandas DataFrame ไปยัง Excel Excel เป็นเครื่องมือที่ยอดเยี่ยมในการแบ่งปันและตรวจสอบรายงาน Python โดยใช้ Pandas ทำให้สิ่งนี้ง่ายขึ้น แต่การใช้ Aspose.Cells for Python จะให้คุณควบคุมได้มากขึ้น คุณสามารถแปลง DataFrame เป็น Excel ได้โดยตรง ผ่าน CSV ผ่าน JSON หรือแม้แต่ส่งออก DataFrames หลายตัวลงในไฟล์เดียว ในบทความนี้คุณจะได้เรียนรู้วิธีแปลง Pandas DataFrame เป็น Excel โดยใช้สี่วิธีทีละขั้นตอน

ทำไมถึงควรใช้ Aspose.Cells สำหรับ Pandas เป็น Excel

Pandas มีฟังก์ชัน toexcel() ที่สร้างขึ้นภายใน มันทำงานสำหรับการส่งออกพื้นฐานแต่มีข้อจำกัดในคุณสมบัติ Aspose.Cells for Python เป็นหนึ่งใน ไลบรารี Excel สำหรับ Python ที่ดีที่สุด สำหรับนักพัฒนาที่มีเอนจิน Excel แบบครบวงจร มันอนุญาตให้คุณบันทึก DataFrames ลงใน Excel ด้วยความน่าเชื่อถือสูง คุณยังสามารถทำงานกับกราฟ ฟอร์มูล่า การจัดรูปแบบ และไฟล์ขนาดใหญ่ได้อีกด้วย

บทความนี้จะแสดงให้คุณเห็นว่าต้องส่งออก Pandas DataFrame ไปยัง Excel โดยใช้ Aspose.Cells ในหลายวิธีอย่างไร

ก่อนเริ่มต้น กรุณาตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งสิ่งต่อไปนี้:

  1. ดาวน์โหลด Aspose.Cells for Python จาก releases หรือ ติดตั้งด้วย pip:
pip install aspose-cells-python
  1. Pandas – ติดตั้งด้วย pip:
pip install pandas

ห้องสมุดทั้งสองนี้จะช่วยให้คุณแปลง DataFrame ของ Pandas เป็นไฟล์ Excel ได้

วิธีที่ 1: แปลง DataFrame เป็น Excel โดยตรงด้วย Aspose.Cells

งานที่พบได้บ่อยที่สุดคือการส่งออก Pandas DataFrame ไปยัง Excel โดยตรง ด้วย Aspose.Cells คุณสามารถสร้างสมุดงาน นำเข้าค่าของ DataFrame และบันทึกเป็นไฟล์ Excel

ทำตามขั้นตอนด้านล่างเพื่อแปลง DataFrame เป็น Excel:

  1. Build a sample dataset.
  2. เริ่มต้นเวิร์กบุ๊ก Excel เปล่า
  3. เข้าถึงแผ่นงานแรกในสมุดงาน
  4. แทรกชื่อคอลัมน์ DataFrame ลงในเซลล์ Excel。
  5. วนซ้ำผ่านแต่ละแถวใน DataFrame และใส่ค่าในเซลล์
  6. ส่งออกสมุดงานสุดท้ายเป็นไฟล์ Excel

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลง Pandas เป็น Excel โดยตรง:

import aspose.cells as ac
import pandas as pd

# ขั้นตอนที่ 1: สร้าง 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()

# ขั้นตอนที่ 3: รับแผ่นงานแรก
worksheet = wb.worksheets[0]

# ขั้นที่ 4: รับการจัดเก็บเซลล์
cells = worksheet.cells

# ขั้นตอนที่ 5: เขียนชื่อคอลัมน์ของ 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 ลงใน Excel
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

# ขั้นตอนที่ 7: บันทึก DataFrame เป็น Excel
wb.save("direct_df_to_excel.xlsx")
แปลง DataFrame เป็น Excel โดยตรงด้วย Aspose.Cells

แปลง DataFrame เป็น Excel โดยตรงด้วย Aspose.Cells.

โค้ดนี้จะบันทึก Pandas DataFrame ลงใน Excel ที่ตำแหน่งที่กำหนด คุณสามารถเปลี่ยนเส้นทางให้ตรงกับระบบของคุณได้

วิธีนี้ให้คุณควบคุมเต็มที่เกี่ยวกับวิธีการเขียนข้อมูล Pandas DataFrame ลงใน Excel มันเป็นวิธีที่ตรงที่สุดในการแปลง DF เป็น Excel โดยใช้ Aspose.Cells。

วิธีที่ 2: แปลง DataFrame เป็น Excel ผ่าน CSV

อีกวิธีที่ง่ายคือการบันทึก DataFrame ของคุณใน Pandas เป็น CSV ก่อน จากนั้นแปลงไฟล์ CSV นั้นเป็น Excel โดยใช้ Aspose.Cells ซึ่งจะมีประโยชน์เมื่อกระบวนการของคุณสร้างผลลัพธ์เป็น CSV อยู่แล้ว และคุณยังต้องการไฟล์ Excel ที่สะอาด

โปรดทำตามขั้นตอนเหล่านี้เพื่อแปลง DataFrame เป็น Excel ผ่าน CSV:

  1. Build sample data.
  2. บันทึก DataFrame เป็น CSV โดยใช้วิธีการ tocsv() จาก Pandas.
  3. เปิด CSV เป็นสมุดงาน
  4. ส่งออกสมุดงานไปยังไฟล์ .xlsx

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแปลง Pandas เป็น Excel ผ่าน CSV:

import aspose.cells as ac
import pandas as pd

# ขั้นตอนที่ 1: สร้าง DataFrame ตัวอย่าง
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# ขั้นตอนที่ 2: บันทึก DataFrame เป็น CSV
df.to_csv("temp.csv", index=False)

# ขั้นตอนที่ 3: โหลดไฟล์ CSV ด้วย Aspose.Cells
wb = ac.Workbook("temp.csv")

# ขั้นตอนที่ 4: บันทึกเป็นไฟล์ Excel
wb.save("df_via_csv.xlsx")

วิธีการนี้จะสร้างไฟล์ CSV ก่อน แล้วแปลงเป็น Excel มันทำให้มั่นใจได้ว่าการแปลง Pandas ของคุณไปยัง Excel ทำงานได้แม้ว่าท่อส่งของคุณจะพึ่งพาไฟล์ CSV อยู่แล้ว

ใช้วิธีนี้เมื่อคุณต้องการแปลงจาก CSV เป็น Excel อย่างรวดเร็วในขณะเดียวกันก็รักษาความยืดหยุ่นของ Pandas และ Aspose.Cells ไว้ได้

วิธีที่ 3: แปลง DataFrame ไปยัง Excel ผ่าน JSON

หลาย API ใช้ JSON คุณสามารถส่ง JSON ไปยัง Aspose.Cells เพื่อสร้างแผ่นงาน Excel ได้ วิธีนี้จะทำการแปลง Pandas DataFrame เป็น JSON ก่อน แล้วจึงโหลด JSON นั้นเข้าสู่ Excel เป็นตาราง มันช่วยให้การส่งออก pandas ไปยัง Excel ของคุณสะอาดและเชื่อถือได้ นอกจากนี้ยังช่วยเมื่อคุณต้องการควบคุมหัวข้อและประเภทข้อมูลอย่างเข้มงวด

กรุณาทำตามขั้นตอนด้านล่างนี้:

  1. สร้างข้อมูลตัวอย่างสำหรับการสาธิต。
  2. เรียกใช้ df.tojson(orient='records') เพื่อแปลง.
  3. เตรียมวัตถุคลาส Workbook() และรับแผ่นงานแรก
  4. เปิดใช้งาน arrayastable สำหรับการนำเข้าตารางอย่างถูกต้อง
  5. เรียกใช้วิธี JsonUtility.importdata() เพื่อนำเข้า JSON ไปยังเซลล์ในแผ่นงาน
  6. เขียนไฟล์สุดท้ายไปยัง .xlsx

ตัวอย่างรหัสดังต่อไปนี้แสดงให้เห็นวิธีการแปลง Pandas DF เป็น Excel ผ่าน 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)

# แปลง pandas DataFrame เป็น JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# รับแผ่นงานแรก
worksheet = workbook.worksheets[0]

# รับเซลล์
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Processes as table
options.array_as_table = True

# นำเข้าข้อมูล JSON ลงในแผ่นงานโดยเริ่มที่แถว 0 คอลัมน์ 0
unit.import_data(json_string, cells, 0, 0, options)

# บันทึกเป็นไฟล์ Excel
workbook.save("df_via_json.xlsx")

orient='records' สร้างรายการของวัตถุแต่ละตัวที่แมพกุญแจไปยังชื่อคอลัมน์ arrayastable=True บอกให้ Aspose.Cells ถือว่าอาร์เรย์เป็นตารางที่เหมาะสมพร้อมส่วนหัว นำเข้ามีการเขียนค่าไปยังเซลล์เริ่มต้นที่ A1 ซึ่งให้การจัดเรียงที่คาดเดาได้ใน Excel

วิธีที่ 4: ส่งออก DataFrames หลายตัวไปยังแผ่น Excel

คุณสามารถเขียน Pandas DataFrame มากกว่าหนึ่งตัวไปยังไฟล์ Excel ไฟล์เดียวได้ โดยแต่ละ DataFrame จะไปยังชีตของตนเอง วิธีนี้จะให้การส่งออก pandas ไปยัง Excel ที่สะอาดสำหรับรายงานและตารางที่จัดกลุ่ม

โปรดติดตามขั้นตอนด้านล่างนี้:

  1. สร้างฟังก์ชันที่เขียน DataFrame หลายตัวไปยังหลายแผ่นงาน
  2. เริ่มต้นงานสมุดใหม่
  3. เพิ่มแผ่นงานสำหรับแต่ละ DataFrame และตั้งชื่อมันจาก sheetnames
  4. ใส่ชื่อคอลัมน์ในแถวแรก।
  5. วนรอบผ่านทูเพิลใน DataFrame และเขียนค่าของเซลล์
  6. ส่งออกเป็น XLSX โดยใช้วิธี workbook.save()

ตัวอย่างโค้ดต่อไปนี้แสดงให้เห็นถึงวิธีการส่งออก Pandas DataFrames หลาย ๆ ตัวไปยังแผ่นงาน Excel:

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)

    # บันทึกเป็นไฟล์ Excel
    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]
})

# เขียนลง Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
ส่งออก DataFrame ของ Pandas หลายชุดไปยังแผ่น Excel ด้วย Aspose.Cells

ส่งออก Pandas DataFrames หลายตัวไปยังแผ่นงาน Excel ด้วย Aspose.Cells。

ฟังก์ชันจับคู่แต่ละ DataFrame กับชื่อชีต มันเขียนส่วนหัวที่แถว 0 และข้อมูลจากแถว 1 Aspose.Cells เขียนค่าลงในเซลล์ด้วยการกำหนดประเภทที่เข้มงวด ไฟล์ XLSX สุดท้ายจะทำให้ตารางของคุณชัดเจนและพร้อมสำหรับการแชร์

รับใบอนุญาตฟรี

ประเมิน Aspose.Cells for Python ผ่าน .NET โดยไม่มีข้อจำกัด ขอรับใบอนุญาตชั่วคราวฟรีจาก license page นำไปใช้ในโค้ดของคุณเพื่อขอความยกเว้นการประเมินผล ทดลองใช้งานฟีเจอร์ทุกอย่าง รวมถึง DF ไปยัง Excel, แผนภูมิ, สูตร และไฟล์ขนาดใหญ่

PD to Excel: แหล่งข้อมูลฟรี

กรุณาใช้แหล่งข้อมูลเหล่านี้เพื่อเสริมความรู้และพัฒนาความเข้าใจของคุณให้ดีขึ้น

บทสรุป

คุณได้เรียนรู้วิธีการต่าง ๆ ในการส่งออก Pandas DataFrame ไปยัง Excel ด้วย Aspose.Cells for Python คุณสามารถบันทึก DataFrame โดยตรง ใช้ CSV ใช้ JSON หรือเขียนหลาย DataFrame ลงในไฟล์เดียว ซึ่งแต่ละวิธีนั้นง่าย รวดเร็ว และเชื่อถือได้ หากคุณกำลังมองหาฟีเจอร์ Excel ขั้นสูงที่เกินกว่าที่ Pandas มีให้ Aspose.Cells คือทางเลือกที่เหมาะสม ลองใช้ในโปรเจกต์ถัดไปของคุณและเปลี่ยนจาก Pandas ไปยัง Excel ด้วยการควบคุมอย่างเต็มที่

หากคุณมีคำถามใด ๆ โปรดเยี่ยมชม ฟอรัมสนับสนุนฟรี ของเรา เรายินดีที่จะช่วยเหลือคุณ

ดูเพิ่มเติม