
随着数据分析的普及,处理Excel表格成了开发者的日常需求。今天,猫头虎为你整理了使用Python读取.xlsx和.xls文件的多种方法,无论是新手还是老鸟,都能轻松掌握!🚀
本教程全面覆盖 Python读取Excel表格文件 的方法,包括 .xlsx 和 .xls 格式,并针对不同需求推荐最佳工具。
pandas读取Excel
.xlsx 和 .xls,需安装 pandas 和 openpyxl。openpyxl处理.xlsx
.xlsx 格式设计。xlrd处理.xls
.xls 文件。pyxlsb处理.xlsb
.xlsb)设计。无论你是数据分析新手还是资深开发者,这篇指南将助你快速上手并处理各种Excel文件格式!
pandas读取Excelpandas 是处理数据的神器,提供了简单易用的接口来读取Excel表格。
pip install pandas openpyxlpandas 是主库openpyxl 用于处理 .xlsximport pandas as pd
# 读取Excel文件
file_path = "example.xlsx"
data = pd.read_excel(file_path)
# 显示前5行
print(data.head())注意: 如果需要处理.xls格式,需安装xlrd:
pip install xlrdopenpyxl处理.xlsxopenpyxl 是专门为 .xlsx 格式设计的库,支持读取和写入。
pip install openpyxlfrom openpyxl import load_workbook
# 打开Excel文件
file_path = "example.xlsx"
workbook = load_workbook(file_path)
# 获取所有Sheet名称
print(workbook.sheetnames)
# 读取Sheet数据
sheet = workbook.active
for row in sheet.iter_rows(values_only=True):
print(row)小贴士: openpyxl 不支持 .xls 格式。
xlrd处理.xls对于.xls格式,xlrd 是经典选择。
pip install xlrdimport xlrd
# 打开Excel文件
file_path = "example.xls"
workbook = xlrd.open_workbook(file_path)
# 获取第一个Sheet
sheet = workbook.sheet_by_index(0)
# 遍历Sheet中的行
for row_idx in range(sheet.nrows):
print(sheet.row_values(row_idx))⚠️ 注意: xlrd 新版本(2.0.0及以上)不支持.xlsx,需回退至1.2.0:
pip install xlrd==1.2.0pyxlsb处理.xlsb如果需要处理Excel Binary Workbook (.xlsb)格式,pyxlsb 是不二选择。
pip install pyxlsbfrom pyxlsb import open_workbook
file_path = "example.xlsb"
with open_workbook(file_path) as workbook:
with workbook.get_sheet(1) as sheet:
for row in sheet.rows():
print([item.v for item in row])Q1:如何读取带密码的Excel文件?
答: 使用msoffcrypto-tool库解密:
pip install msoffcrypto-toolimport msoffcrypto
import io
# 解密文件
file = open("encrypted.xlsx", "rb")
decrypted = io.BytesIO()
office_file = msoffcrypto.OfficeFile(file)
office_file.load_key(password="your_password")
office_file.decrypt(decrypted)
# 使用pandas读取
import pandas as pd
data = pd.read_excel(decrypted)
print(data.head())Q2:如何提高读取大文件的速度?
答: 尝试使用dask库:
pip install daskimport dask.dataframe as dd
data = dd.read_excel("large_file.xlsx")
print(data.head())方法 | 支持格式 | 依赖库 | 特点 |
|---|---|---|---|
pandas | .xls/.xlsx | pandas, xlrd | 快速高效,适合大数据 |
openpyxl | .xlsx | openpyxl | 功能强大,支持写入 |
xlrd | .xls | xlrd | 经典工具,需注意版本限制 |
pyxlsb | .xlsb | pyxlsb | 支持二进制格式,适合特殊需求 |
通过以上方法,你已经掌握了使用Python读取Excel文件的各种技巧!从经典的pandas到针对性强的openpyxl和xlrd,还有对特殊格式的支持,都能满足不同场景的需求。
🚀 未来趋势:Excel处理正向高效化、智能化发展,工具也会更加多样。你可以探索dask等分布式库,进一步优化性能。