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 功能,如公式、合併單元格、圖表、樞紐分析表和條件格式化。它支持多種格式,包括 XLS、XLSX、XLSB、ODS、CSV 和 JSON。
當你使用 Aspose.Cells 將 Excel 數據引入 pandas 時,你可以順利地轉換成高度保真的 DataFrames。這意味著你的 Excel 結構、格式和數值保持準確,同時 pandas 為你提供了有效分析和轉換數據的工具。
將 Excel 轉換為 Pandas DataFrame
您可以創建一個新的電子表格,程序性地生成數據,並將 Excel 轉換為 Python 中的 pandas DataFrame。這使您可以完全控制文件的結構,同時使其準備好在 pandas 中進行即時分析。
按照以下步驟將 Excel 轉換為 Pandas DataFrame:
- 創建
Workbook
類的實例。 - 訪問第一個工作表及其單元格。
- 將值添加到工作表單元格中。
- 提取行和標題。
- 將提取的數據轉換為 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:
- 使用
Workbook
類別打開現有的 Excel 文件。 - 選擇一個工作表,按名稱或索引。
- 閱讀所有行和列。
- Extract headers if available.
- 將結果轉換為 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。
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 中解鎖強大的分析功能。
如果您有任何問題,請造訪我們的 免費支援論壇,我們的團隊將樂意協助您。