Excel 檔案仍然是管理結構化數據的最受歡迎格式之一。在 Python 中,pandas 的 DataFrame 是組織和高效分析這些數據的首選結構。一旦轉換為 DataFrame,Excel 數據可以無縫地與數據庫、API 或機器學習模型結合,以便進行更深入的分析和洞察。在這篇文章中,我們將探討將 Excel 轉換為 pandas DataFrames 的實用方法,以及清晰的示例來幫助您入門。

What is a Pandas DataFrame?

DataFrame 是由 pandas 庫提供的 2D 數據結構。它看起來像一個具有行和列的 Excel 試算表。每一列可以包含不同的數據類型,例如字串、整數或浮點數。

DataFrames 是理想的用於:

  • 匯入和清理數據。
  • 執行數學運算。
  • 過濾、分組和聚合數據。
  • 導出結果到 Excel、CSV 或資料庫。

當你將 Excel 檔案轉換成 DataFrames 時,你可以立即應用強大的 pandas 操作進行分析。

將 Excel 轉換為 Pandas DataFrame 的 Python 函式庫

Aspose.Cells for Python via .NET 通常被認為是開發人員需要的不僅僅是基本電子表格處理的 最佳 Python Excel 函式庫。它允許您以程式方式創建、讀取、編輯和轉換 Excel 文件,而無需安裝 Microsoft Excel。

對於 DataFrame 轉換,這個庫表現突出,因為它完全支持進階的 Excel 功能,如公式、合併單元格、圖表、樞紐分析表和條件格式化。它支持多種格式,包括 XLSXLSXXLSB、ODS、CSV 和 JSON。

當你使用 Aspose.Cells 將 Excel 數據引入 pandas 時,你可以順利地轉換成高度保真的 DataFrames。這意味著你的 Excel 結構、格式和數值保持準確,同時 pandas 為你提供了有效分析和轉換數據的工具。

將 Excel 轉換為 Pandas DataFrame

您可以創建一個新的電子表格,程序性地生成數據,並將 Excel 轉換為 Python 中的 pandas DataFrame。這使您可以完全控制文件的結構,同時使其準備好在 pandas 中進行即時分析。

按照以下步驟將 Excel 轉換為 Pandas DataFrame:

  1. 創建 Workbook 類的實例。
  2. 訪問第一個工作表及其單元格。
  3. 將值添加到工作表單元格中。
  4. 提取行和標題。
  5. 將提取的數據轉換為 pandas DataFrame。

以下 Python 代碼示例演示了如何將 Excel 轉換為 pandas DataFrame:

import pandas as pd
from aspose.cells import Workbook

# 第 1 步:使用 Aspose.Cells 創建一個新的 Excel 工作簿
wb = Workbook()

# 步驟 2:訪問第一個工作表
ws = wb.worksheets.get(0)

# 步驟 3:訪問工作表的單元格集合
c = ws.cells

# 步驟 4:將範例資料添加到工作表中
c.get("A1").value, c.get("B1").value, c.get("C1").value = "Name", "Age", "City"
c.get("A2").value, c.get("B2").value, c.get("C2").value = "Alice", 25, "New York"
c.get("A3").value, c.get("B3").value, c.get("C3").value = "Bob", 30, "San Francisco"
c.get("A4").value, c.get("B4").value, c.get("C4").value = "Charlie", 35, "Los Angeles"

# 步驟 5:從第一行數據中獲取標題
header_idx = c.min_data_row
columns = [cell.value for cell in c.rows[header_idx]]

# 步驟 6:收集剩餘的行作為數據
data = [
    [cell.value for cell in row]
   for idx, row in enumerate(c.rows)
    if row and idx != header_idx
]

# 步驟 7:一次性建立 DataFrame
df = pd.DataFrame(data, columns=columns)
print(df)

Output

      Name  Age           City
0    Alice   25       New York
1      Bob   30  San Francisco
2  Charlie   35    Los Angeles

將現有的 Excel 檔案轉換為 Pandas DataFrame

如果您已經擁有一個 Excel 文件,您可以直接加載它並將 Excel 轉換為 Python 中的 pandas DataFrame。這使您能夠在 pandas 中更有效地處理數據,同時保留原始工作表結構。

按照以下步驟將現有的 Excel 檔案加載並轉換為 Pandas DataFrame:

  1. 使用 Workbook 類別打開現有的 Excel 文件。
  2. 選擇一個工作表,按名稱或索引。
  3. 閱讀所有行和列。
  4. Extract headers if available.
  5. 將結果轉換為 pandas DataFrame。

以下 Python 代碼顯示了如何將現有的 Excel 文件轉換為 pandas DataFrame:

import pandas as pd
from aspose.cells import Workbook

# 步驟 1:從文件加載 Excel 工作簿
workbook = Workbook("PandasTest.xlsx")

# 步驟 2:選擇工作表(按索引或按名稱)
worksheet = workbook.worksheets.get("Sheet1")  # or workbook.worksheets[0]

# 步驟 3:從工作表取得儲存格集合
cells = worksheet.cells

# 步驟 4:計算列數(基於 0 的索引差異)
col_count = cells.max_data_column - cells.min_data_column

# 步驟 5:創建一個列表以存儲行數據
output_data = []

# 步驟 6:尋找第一行有數據的索引
first_data_row_index = cells.min_data_row

# 步驟 7:遍歷工作表中的所有行
for row in cells.rows:
    if row is None:
        continue  # Skip uninitialized rows

    # 收集當前行的所有單元格值
    row_data = [cell.value for cell in row]
    output_data.append(row_data)

# 步驟 8:準備列標題
columns = []
if True:  # Use header row
    row = cells.rows[first_data_row_index]
   for cell in row:
        columns.append(cell.value)
    # 移除數據中的標題行
    output_data = output_data[1:]
else:
    # 如果沒有標題,則賦予預設的列名稱
    columns = [f"Unnamed: {i}" for i in range(col_count + 1)]

# 步驟 9:將數據轉換為 pandas DataFrame
df = pd.DataFrame(output_data, columns=columns)

# 步驟 10: 列印 DataFrame
print(df)
將現有的 Excel 文件轉換為 Pandas DataFrame

樣本 Excel 文件,用於轉換為 Pandas DataFrame。

Output

   Product A  Product B Period
0         50        160     Q1
1        100         32     Q2
2        170         50     Q3
3        300         40     Q4

將 Excel 轉換為 Pandas 通過 JSON

將您的 Excel 範圍導出為 JSON,使用 JsonUtility.exportrangetojson,然後將其加載到 Pandas 中。請參見逐步指南:Convert Excel to Pandas DataFrame via JSON

將 Excel 轉換為 Pandas 通過 CSV

將您的 Excel 文件轉換為 CSV,然後將其加載到 Pandas 中。請遵循逐步指南: Convert Excel to Pandas DataFrame via CSV

獲取免費許可證

您可以通過應用免費的臨時許可證來無限制地嘗試 Aspose.Cells for Python via .NET 的所有功能。請訪問 license page 並獲取免費許可證。這使您能夠評估完整的 API,包括高級 Excel 到 DataFrame 的轉換。

額外的免費資源

探索更多在 Python 中處理 Excel 檔案的方法,通過這些資源,這將幫助你超越基本轉換並在實際項目中有效應用 Aspose.Cells。

結論

將 Excel 文件轉換為 pandas DataFrame 變得簡單且可靠,使用 Aspose.Cells for Python via .NET。無論您是在構建新的電子表格還是導入現有的電子表格,該庫都確保高保真數據傳輸和全格式支持。通過將 pandas 的靈活性與 Aspose.Cells 的先進 Excel 處理相結合,您可以簡化數據處理並在 Python 中解鎖強大的分析功能。

如果您有任何問題,請造訪我們的 免費支援論壇,我們的團隊將樂意協助您。

另請參閱