無論是企業(yè)的財務(wù)報表、市場調(diào)研數(shù)據(jù),還是科研項目的實驗記錄,都常常以 Excel 格式呈現(xiàn)。而 Python 作為一門功能強大的編程語言,擁有豐富的第三方庫,能夠輕松實現(xiàn)對 Excel 文件的讀取與處理。通過 Python 處理 Excel 文件,不僅可以大幅提高數(shù)據(jù)處理效率,還能完成復(fù)雜的數(shù)據(jù)清洗、分析和可視化任務(wù)。接下來一起來詳細(xì)了解 Python 讀取 Excel 文件的多種方法。
一、使用pandas庫讀取 Excel 文件
pandas是 Python 中用于數(shù)據(jù)處理和分析的核心庫,它對 Excel 文件的支持十分友好,操作簡潔高效。
安裝pandas庫:在使用pandas之前,需要先進(jìn)行安裝。打開命令行終端,輸入以下命令:
TypeScript取消自動換行復(fù)制
pip install pandas讀取 Excel 文件:安裝完成后,在 Python 代碼中導(dǎo)入pandas庫,就可以開始讀取 Excel 文件了。例如,要讀取當(dāng)前目錄下名為data.xlsx的 Excel 文件,可以使用以下代碼:
TypeScript取消自動換行復(fù)制
import pandas as pd
data = pd.read_excel('data.xlsx')
print(data)上述代碼會將 Excel 文件中的數(shù)據(jù)讀取到一個DataFrame對象中,DataFrame是pandas中用于存儲和處理表格型數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu)。如果 Excel 文件包含多個工作表,read_excel函數(shù)默認(rèn)讀取第一個工作表,若要讀取指定工作表,可以通過sheet_name參數(shù)指定,如pd.read_excel('data.xlsx', sheet_name='Sheet2') 。此外,還可以通過設(shè)置header參數(shù)指定哪一行作為表頭,通過index_col參數(shù)指定索引列等。
二、使用openpyxl庫讀取 Excel 文件
openpyxl是專門用于處理 Excel 2010 及以上版本(.xlsx/.xlsm/xltx/xltm)的 Python 庫,它提供了更底層的操作方式,能讓我們對 Excel 文件的單元格、樣式等進(jìn)行更精細(xì)的控制。
安裝openpyxl庫:在命令行終端輸入以下命令進(jìn)行安裝:
TypeScript取消自動換行復(fù)制
pip install openpyxl讀取 Excel 文件:安裝完成后,使用以下代碼讀取 Excel 文件:
TypeScript取消自動換行復(fù)制
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
sheet = wb.active
for row in sheet.iter_rows(values_only=True):
print(row)上述代碼首先使用load_workbook函數(shù)加載 Excel 文件,然后通過wb.active獲取當(dāng)前活動工作表,接著使用iter_rows方法遍歷工作表中的每一行數(shù)據(jù)。values_only=True參數(shù)表示只獲取單元格中的值,而不獲取單元格對象。如果需要獲取指定單元格的值,如獲取 A1 單元格的值,可以使用sheet['A1'].value 。
三、使用xlrd庫讀取 Excel 文件
xlrd庫是 Python 中較早用于讀取 Excel 文件的庫,它對 Excel 97-2003(.xls)文件的支持較好。不過需要注意的是,xlrd庫從 2.0.1 版本開始不再支持讀取.xlsx 文件。
安裝xlrd庫:在命令行終端輸入以下命令進(jìn)行安裝:
TypeScript取消自動換行復(fù)制
pip install xlrd讀取 Excel 文件:安裝完成后,使用以下代碼讀取 Excel 文件:
TypeScript取消自動換行復(fù)制
import xlrd
workbook = xlrd.open_workbook('data.xls')
sheet = workbook.sheet_by_index(0)
for row in range(sheet.nrows):
print(sheet.row_values(row))上述代碼通過open_workbook函數(shù)打開 Excel 文件,使用sheet_by_index(0)獲取第一個工作表,然后通過循環(huán)遍歷每一行,使用row_values方法獲取每一行的數(shù)據(jù)。
從簡單的數(shù)據(jù)讀取到精細(xì)化的單元格操作,Python 提供的這些處理 Excel 文件的方法,能夠滿足不同場景下的數(shù)據(jù)處理需求。