การทำงานกับข้อมูล Excel ใน Python มักจะต้องการการดึงแถวและคอลัมน์ที่เฉพาะเจาะจงออกมาในรูปแบบรายชื่อ การแปลงช่วง Excel ให้เป็นรายการใน Python มีประโยชน์อย่างยิ่งสำหรับงานต่างๆ เช่น:

  • การวิเคราะห์ข้อมูลด้วย Pandas และ NumPy
  • การทำให้กระบวนการรายงานและ ETL เป็นไปโดยอัตโนมัติ
  • การรวมเข้ากับโมเดลหรือ API ที่ใช้การเรียนรู้ของเครื่อง

ในบทความนี้ เราจะเรียนรู้วิธีการแปลงช่วง Excel ที่กำหนดเป็นรายการใน Python ทีละขั้นตอน

ห้องสมุดแปลง Excel เป็นรายการ Python

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

ก่อนเริ่มเขียนโค้ด ให้แน่ใจว่าการตั้งค่าของคุณพร้อมแล้ว:

  1. ติดตั้ง Python 3.7+
  2. ดาวน์โหลด Aspose.Cells จาก releases หรือติดตั้งด้วย pip:
pip install aspose-cells-python
  1. เตรียมไฟล์ Excel ตัวอย่าง (sampledata.xlsx) ด้วยเนื้อหาต่อไปนี้:
แปลง Excel เป็นรายการใน Python: ไฟล์ข้อมูลตัวอย่าง

ไฟล์ข้อมูล Excel ตัวอย่าง

แปลงช่วง Excel เป็นรายการ Python: คู่มือทีละขั้นตอน

มาเริ่มกระบวนการแปลงข้อมูล Excel ช่วงหนึ่งเป็นรายการ Python โดยใช้ Aspose.Cells for Python กันเถอะ

ทำตามขั้นตอนด้านล่างเพื่อแปลงช่วง Excel เป็นรายการใน Python:

  1. แรกเริ่ม ให้โหลดไฟล์ Excel ที่มีอยู่โดยใช้คลาส Workbook
  2. ที่สอง ให้ดึงแผ่นงานแรก
  3. ถัดไป สร้างช่วง เช่น A1 ถึง C4.
  4. หลังจากนั้น เปลี่ยน Range เป็น Python List.
  5. สุดท้าย ให้พิมพ์รายชื่อ.

สคริปต์ Python ต่อไปนี้จะโหลดไฟล์ Excel กำหนดช่วง และแปลงเป็นรายการ Python

from aspose.cells import Workbook

# ขั้นตอนที่ 1: โหลดแฟ้มงาน Excel
book = cells.Workbook("sample_data.xlsx")

# ขั้นตอนที่ 2: เข้าถึงแผ่นงานแรก
sheet1 = book.worksheets.get(0)

# ขั้นตอนที่ 3: กำหนดช่วง (A1:C4 ในตัวอย่างนี้)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# ขั้นตอนที่ 4: แปลงช่วงให้เป็นรายการที่ซ้อนกันในภาษา Python
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# ขั้นตอนที่ 5: พิมพ์รายการ Python
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

สคริปต์ทั้งหมดนี้แสดงวิธีการดึงข้อมูลจาก Excel และแปลงมันเป็นรายการในภาษา Python หลังจากนั้นสามารถแปลงเป็น Pandas หรือ JSON ได้อย่างง่ายดายขึ้นอยู่กับความต้องการของคุณ

แปลงรายการ Python เป็น Pandas DataFrame

ด้วย Pandas คุณสามารถแปลงรายการเป็น DataFrame ได้โดยตรง:

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame Output:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

บันทึกรายการ Python เป็น JSON

คุณยังสามารถส่งออกข้อมูลเป็น JSON ได้:

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON Output:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

แปลงแถว Excel เป็นรายการใน Python

บางครั้งคุณอาจต้องการดึงแถวเดียวจาก Excel และเก็บเป็นรายการ นี่คือวิธีการทำด้วย Aspose.Cells:

  1. โหลดสมุดงาน Excel
  2. เข้าถึงแผ่นงานเป้าหมาย
  3. เลือกแถวโดยดัชนี.
  4. รวบรวมค่าจากแถวลงในรายการ Python。
# นำเข้าไลบรารี Aspose.Cells
from aspose.cells import Workbook

# ขั้นตอนที่ 1: โหลดแฟ้ม Excel จากไฟล์
book = Workbook("sample_data.xlsx")

# ขั้นตอนที่ 2: เข้าถึงแผ่นงานแรกในแฟ้มงาน
sheet = book.worksheets.get(0)

# ขั้นที่ 3: กำหนดดัชนีแถว (0 = แถวแรก ซึ่งมีส่วนหัว)
row_index = 0
cells = sheet.cells

# สร้างออบเจ็กต์ช่วงสำหรับแถวที่เลือก
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# ขั้นตอนที่ 4: แปลงแถวเป็นรายการ Python
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# พิมพ์แถวที่ถูกดึงออกมาเป็นรายการ
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

แปลงคอลัมน์ Excel เป็นรายการใน Python

คุณยังสามารถแยกคอลัมน์เดียวออกเป็นรายการได้ ตัวอย่างเช่น ให้เราแปลงคอลัมน์ Region เป็นรายการ:

  1. โหลดเวิร์กบุ๊กและแผ่นงาน
  2. เลือกคอลัมน์ตามดัชนี।
  3. ไปตามแต่ละแถวในคอลัมน์
  4. จัดเก็บค่าคอลัมน์ลงในรายการ。
# นำเข้าห้องสมุด Aspose.Cells
from aspose.cells import Workbook

# ขั้นตอนที่ 1: โหลดแฟ้มงาน Excel จากไฟล์
book = Workbook("sample_data.xlsx")

# เข้าถึงแผ่นงานแรกในสมุดงาน
sheet = book.worksheets.get(0)

# ขั้นตอนที่ 2: กำหนดดัชนีคอลัมน์ (0 = คอลัมน์แรก, เช่น คอลัมน์ A)
col_index = 0
cells = sheet.cells

# สร้างวัตถุช่วงสำหรับคอลัมน์ที่เลือก
# Parameters: (startrow, startcolumn, totalrows, totalcolumns)
# ที่นี่ เริ่มต้นที่แถว 0 เลือก colindex รวมทุกแถว และความกว้าง = 1 คอลัมน์
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# ขั้นตอนที่ 3 และ 4: แปลงคอลัมน์เป็นลิสต์ Python
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# พิมพ์คอลัมน์ที่ถูกดึงออกมาในรูปของรายการ
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

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

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

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

ใช้ประโยชน์จากแหล่งข้อมูลต่อไปนี้เพื่อเพิ่มพูนความรู้ของคุณ เสริมความเข้าใจ และรับข้อมูลเชิงปฏิบัติที่สามารถช่วยให้คุณนำสิ่งที่คุณเรียนรู้ไปใช้ได้อย่างมีประสิทธิภาพมากขึ้น

บทสรุป

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

ถ้าคุณต้องการความช่วยเหลือหรือมีคำถามใด ๆ โปรดอย่าลังเลที่จะติดต่อเราที่ Aspose.Cells Free Support Forum ทีมงานของเรายินดีที่จะช่วยเหลือคุณ.

ดูเพิ่มเติม