Làm việc với dữ liệu Excel trong Python thường yêu cầu trích xuất các hàng và cột cụ thể vào định dạng danh sách. Chuyển đổi một phạm vi Excel thành danh sách Python cực kỳ hữu ích cho các nhiệm vụ như:

  • Phân tích dữ liệu với Pandas và NumPy
  • Tự động hóa báo cáo và quy trình ETL
  • Tích hợp với các mô hình hoặc API machine learning

Trong bài viết này, chúng ta sẽ học cách chuyển đổi một phạm vi Excel đã được xác định thành một danh sách trong Python từng bước một.

Thư viện chuyển đổi Excel sang danh sách Python

Thay vì phân tích các tệp Excel bằng tay, các nhà phát triển có thể sử dụng Aspose.Cells for Python qua .NET, một thư viện chuyển đổi Excel sang danh sách mạnh mẽ. Nó không chỉ giúp dễ dàng hơn trong việc trích xuất các phạm vi, hàng và cột vào danh sách Python mà còn hỗ trợ các tính năng nâng cao như công thức, định dạng, biểu đồ và bảng tổng hợp, đảm bảo độ chính xác ngay cả với các bảng tính phức tạp.

Trước khi lập trình, hãy chắc chắn rằng thiết lập của bạn đã sẵn sàng:

  1. Cài đặt Python 3.7+.
  2. Download Aspose.Cells from releases hoặc cài đặt nó bằng pip:
pip install aspose-cells-python
  1. Chuẩn bị một tệp Excel mẫu (sampledata.xlsx) với nội dung sau:
Chuyển đổi Excel thành danh sách trong Python: Tệp dữ liệu mẫu

Tập tin dữ liệu Excel mẫu.

Chuyển đổi Dải Excel thành Danh sách Python: Hướng dẫn Từng bước

Chúng ta hãy đi qua quy trình chuyển đổi một phạm vi dữ liệu Excel thành một danh sách Python bằng cách sử dụng Aspose.Cells for Python.

Làm theo các bước dưới đây để chuyển đổi một vùng Excel thành danh sách trong Python:

  1. Đầu tiên, tải tệp Excel hiện có bằng cách sử dụng lớp Workbook.
  2. Thứ hai, lấy bảng tính đầu tiên.
  3. Tiếp theo, tạo một phạm vi, ví dụ, A1 đến C4.
  4. Sau đó, chuyển đổi Range thành một Danh sách Python.
  5. Cuối cùng, in danh sách.

Đoạn mã Python sau đây tải tệp Excel, định nghĩa một phạm vi và chuyển đổi nó thành một danh sách Python.

from aspose.cells import Workbook

# Bước 1: Tải tập tin Excel
book = cells.Workbook("sample_data.xlsx")

# Bước 2: Truy cập vào worksheet đầu tiên
sheet1 = book.worksheets.get(0)

# Bước 3: Định nghĩa phạm vi (A1:C4 trong ví dụ này)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Bước 4: Chuyển đổi phạm vi thành một danh sách lồng nhau trong 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)

# Bước 5: In danh sách 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]]

Kịch bản đầy đủ này cho thấy cách trích xuất dữ liệu từ Excel và chuyển đổi nó thành một danh sách Python. Sau đó, nó có thể dễ dàng được chuyển đổi thành Pandas hoặc JSON tùy thuộc vào yêu cầu của bạn.

Chuyển đổi danh sách Python thành DataFrame Pandas

Với Pandas, bạn có thể chuyển đổi trực tiếp danh sách thành một 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

Lưu danh sách Python dưới dạng JSON

Bạn cũng có thể xuất dữ liệu dưới dạng 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]]

Chuyển hàng Excel thành danh sách trong Python

Đôi khi bạn có thể muốn trích xuất chỉ một hàng từ Excel và lưu trữ nó như một danh sách. Dưới đây là cách thực hiện điều đó với Aspose.Cells:

  1. Tải tập tin Excel.
  2. Truy cập vào bảng tính mục tiêu.
  3. Chọn hàng theo chỉ số.
  4. Thu thập các giá trị hàng vào một danh sách Python.
# Nhập thư viện Aspose.Cells
from aspose.cells import Workbook

# Bước 1: Tải workbook Excel từ tập tin
book = Workbook("sample_data.xlsx")

# Bước 2: Truy cập vào bảng tính đầu tiên trong sổ làm việc
sheet = book.worksheets.get(0)

# Bước 3: Định nghĩa chỉ số hàng (0 = hàng đầu tiên, chứa tiêu đề)
row_index = 0
cells = sheet.cells

# Tạo một đối tượng phạm vi cho hàng được chọn
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Bước 4: Chuyển đổi hàng thành một danh sách 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

# In danh sách, hãy in hàng đã được trích xuất.
print("Row to List:", row_list)

Output:

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

Chuyển đổi Cột Excel thành Danh sách trong Python

Bạn cũng có thể trích xuất một cột đơn vào một danh sách. Ví dụ, hãy biến cột Region thành một danh sách:

  1. Tải workbook và worksheet.
  2. Chọn cột theo chỉ số.
  3. Duyệt qua từng hàng trong cột.
  4. Tập hợp các giá trị cột vào một danh sách.
# Nhập thư viện Aspose.Cells
from aspose.cells import Workbook

# Bước 1: Tải tập tin Excel từ file
book = Workbook("sample_data.xlsx")

# Truy cập vào bảng tính đầu tiên trong sổ làm việc
sheet = book.worksheets.get(0)

# Bước 2: Xác định chỉ số cột (0 = cột đầu tiên, tức là Cột A)
col_index = 0
cells = sheet.cells

# Tạo một đối tượng phạm vi cho cột đã chọn
# Parameters: (startrow, startcolumn, totalrows, totalcolumns)
# Ở đây, bắt đầu từ hàng 0, chọn colindex, bao gồm tất cả các hàng, và chiều rộng = 1 cột
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Bước 3 & 4: Chuyển cột thành danh sách 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)

# In ra cột đã trích xuất dưới dạng danh sách
print("Column to List:", col_list)

Output:

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

Nhận Giấy phép Miễn phí

Đánh giá Aspose.Cells for Python thông qua .NET mà không có giới hạn. Yêu cầu một giấy phép tạm thời miễn phí từ trang license page.Áp dụng nó trong mã của bạn để loại bỏ các hạn chế đánh giá. Kiểm tra mọi tính năng, bao gồm DF sang Excel, biểu đồ, công thức và tệp lớn.

Excel to List: Tài nguyên miễn phí

Hãy sử dụng những nguồn tài nguyên sau để làm sâu sắc thêm kiến thức của bạn, củng cố sự hiểu biết của bạn và đạt được những hiểu biết thực tiễn có thể giúp bạn áp dụng những gì bạn học hiệu quả hơn.

Kết luận

Chúng tôi đã trình bày cách chuyển đổi dữ liệu Excel thành danh sách Python bằng cách trích xuất các khoảng, hàng và cột với Aspose.Cells for Python thông qua .NET. Khi ở dạng danh sách, dữ liệu có thể được sử dụng cho Pandas, JSON hoặc các tác vụ xử lý khác. Trong khi các thư viện như openpyxl hoặc pandas.readexcel có thể trích xuất các khoảng, Aspose.Cells cung cấp nhiều kiểm soát hơn về công thức, định dạng, biểu đồ và ô được gộp, khiến nó trở thành lựa chọn tốt hơn cho các thao tác Excel phức tạp.

Nếu bạn cần trợ giúp hoặc có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với chúng tôi qua Aspose.Cells Free Support Forum.Đội ngũ của chúng tôi sẽ rất vui được hỗ trợ bạn.

Xem thêm