python读取excel表

python使用xlrd模块可以读取xls和xlsx文件.

import xlrd
import os

file_addr = "E://test.xlsx"
# xlsx文件存在
if os.path.exists(file_addr):
# 读取内容 xls_file
= xlrd.open_workbook(file_addr)
# 取第一个sheet页 xls_sheet
= xls_file.sheets()[0]
# 第一个sheet页的行数和列数 nrows
= int(xls_sheet.nrows) ncols = int(xls_sheet.ncols)
# 读取每一行,一般不读第一行,因为是表头
for now in range(1,nows):
拿到每行的数据,结构是列表,通过索引取每一个字段内容
rows_value = xls_sheet.row_values(row)

 结束!

### 如何使用Python读取Excel文件 Python提供了多种库来读取Excel文件,其中最常用的两种方法是使用`pandas`和`openpyxl`。以下是这两种方法的详细介绍和代码示例。 #### 使用Pandas读取Excel文件 Pandas是一个强大的数据分析库,能够轻松读取Excel文件中的数据,并将其转换为DataFrame格式以便进一步处理[^1]。 ```python import pandas as pd def read_with_pandas(file_path): # 使用pandas读取Excel文件,默认使用openpyxl作为引擎 data = pd.read_excel(file_path, engine="openpyxl") print("使用Pandas读取的数据:") print(data.head()) # 打印前五行数据 ``` #### 使用OpenPyXL读取Excel文件 OpenPyXL是一个专门用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库,适合需要对Excel文件进行更精细操作的场景[^2]。 ```python from openpyxl import load_workbook def read_with_openpyxl(file_path): # 加载Excel文件 workbook = load_workbook(file_path) sheet = workbook.active # 获取活动工作 print("使用OpenPyXL读取的数据:") for row in sheet.iter_rows(values_only=True): # 遍历所有行并打印值 print(row) ``` #### 完整代码示例 以下是一个完整的代码示例,演示如何同时使用Pandas和OpenPyXL读取Excel文件中的数据[^1]。 ```python import pandas as pd from openpyxl import load_workbook # 使用Pandas读取Excel文件 def read_with_pandas(file_path): data = pd.read_excel(file_path, engine="openpyxl") print("使用Pandas读取的数据:") print(data.head()) # 使用OpenPyXL读取Excel文件 def read_with_openpyxl(file_path): workbook = load_workbook(file_path) sheet = workbook.active print("使用OpenPyXL读取的数据:") for row in sheet.iter_rows(values_only=True): print(row) if __name__ == "__main__": file_path = "example.xlsx" # 替换为你的Excel文件路径 read_with_pandas(file_path) read_with_openpyxl(file_path) ``` #### 性能对比 在性能方面,`openpyxl`相较于`pandas`可能稍慢,尤其是在处理大规模数据时。例如,在某些测试中,`openpyxl`的执行时间约为27.84秒(运行100次),而`pandas`通常更快[^3]。 #### 读取指定列或行 如果需要读取Excel文件中的特定列或行,可以结合`pandas`和`iloc`实现[^4]。 ```python import pandas as pd # 读取指定列 df = pd.read_excel("test.xlsx", engine="openpyxl", sheet_name="1") col_data = df.iloc[0:, [0]] # 读取第一列数据 for col in col_data: print(col) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值