【python】excel读写之xlrd模块

目录

1.1、xlrd模块介绍

1.2、xlrd操作方法汇总

1.2.1、Excel操作

1.2.1.1、打开文件

1.2.1.2、获取所有的表名

1.2.1.3、获取指定的Sheet

1.2.1.4、某个sheet是否导入完毕

1.2.2、sheet对象的基本操作

1.2.2.1、sheet表行操作

1.2.2.1.1、获取表中所有的行数

1.2.2.1.2、返回指定行的所有单元格数值组成的列表

1.2.2.1.3、获取某行的类型及数据

1.2.2.1.4、获取某行的类型的列表

1.2.2.1.5、以切片形式获取某行的类型及数据

1.2.2.1.6、获取某行的长度

1.2.2.1.7、获取sheet的所有行生成器

1.2.2.2、sheet表列操作

1.2.2.2.1、获取有效列数

1.2.2.2.2、获取某列数据

1.2.2.2.3、获取某列类型

1.2.2.2.4、以切片方式获取某列类型及数据 

1.2.2.3、单元格操作

1.2.2.4、对单元格中的日期/时间操作

1.2.2.4.1、xlrd.xldate_as_tuple(xldate, datemode)

1.2.2.4.2、xlrd.xldate.xldate_as_datetime(xldate, datemode)


1.1、xlrd模块介绍

xlrd:用于读取Excle数据文件将返回的数据对象放到内存中,然后查询数据文件对象的相关信息。

xlwt:用于在内存中生成新的数据文件对象,处理完成后写入到Excel数据文件中。

xlutils:主要的作用就是copy新的文件对象,在新的数据对象中完成数据处理操作。

注意:在使用 xlrd 读取 .xlsx 文件时,由于 xlrd 从版本 2.0.0 开始停止支持 .xlsx 格式,可能会遇到 xlrd.biffh.XLRDError: Excel xlsx file; not supported 的错误。

如果需要读取.xlsx文件,你可能需要安装1.2.0版本的xlrd。

1.2、xlrd操作方法汇总

1.2.1、Excel操作

1.2.1.1、打开文件
import xlrd

workbook = xlrd.open_workbook('test.xls')
print(workbook)  # <xlrd.book.Book object at 0x7f592100ff50>
1.2.1.2、获取所有的表名
import xlrd

workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
# 获取所有的工作表名
sheet_names = workbook.sheet_names()
print(sheet_names)  # ['sdxl', 'hzgg', 'sdyxz', 'TB2018']
# 获取所有的sheet对象
Sheets = workbook.sheets()
print(Sheets)  # [Sheet  0:<sdxl>, Sheet  1:<hzgg>, Sheet  2:<sdyxz>, Sheet  3:<TB2018>]
1.2.1.3、获取指定的Sheet
import xlrd

workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
# 方式一:通过索引选取
sheet1 = workbook.sheets()[0]
print(sheet1 )  # Sheet  0:<sdxl>

# 方式二:通过索引选取
sheet2 = workbook.sheet_by_index(2)
print(sheet2)  # Sheet  2:<sdyxz>

# 方式三:通过表名选取,返回一个<class 'xlrd.sheet.Sheet'>对象
sheet = workbook.sheet_by_name("hzgg")
print(sheet)  # Sheet  1:<hzgg>
1.2.1.4、某个sheet是否导入完毕
# 通过文件名,检查某个sheet是否导入完毕
print(workbook.sheet_loaded("hzgg"))  # True

# 通过索引
print(workbook.sheet_loaded(0))  # True

1.2.2、sheet对象的基本操作

1.2.2.1、sheet表行操作
1.2.2.1.1、获取表中所有的行数
import xlrd

workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
sheet2 = workbook.sheet_by_name("hzgg")
# 特别注意,这是属性而不是方法,不加括号
print(sheet2.nrows)  # 17
1.2.2.1.2、返回指定行的所有单元格数值组成的列表

1.2.2.1.3、获取某行的类型及数据

1.2.2.1.4、获取某行的类型的列表

单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值) 

1.2.2.1.5、以切片形式获取某行的类型及数据

1.2.2.1.6、获取某行的长度

1.2.2.1.7、获取sheet的所有行生成器

1.2.2.2、sheet表列操作
1.2.2.2.1、获取有效列数
import xlrd

workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
sheet2 = workbook.sheet_by_name("hzgg")

# 获取有效列数
print(sheet2.ncols)  # 9
1.2.2.2.2、获取某列数据

1.2.2.2.3、获取某列类型

1.2.2.2.4、以切片方式获取某列类型及数据 

1.2.2.3、单元格操作

1.2.2.4、对单元格中的日期/时间操作

在使用xlrd读取excel时,我们常常会遇到日期格式的数据,如果我们不经过任何处理,那么我们得到会是如 45089.0、45171.0 这样的excel时间戳。那么我们该如何读取呢?这里介绍俩方法。

1.2.2.4.1、xlrd.xldate_as_tuple(xldate, datemode)

xlrd.xldate_as_tuple(xldate,datemode)
    :param xldate: The Excel number
    :param datemode: 0: 1900-based, 1: 1904-based.

xldate自然是excel中的日期数据,datemode则是使用哪条基准的时间戳.

1.2.2.4.2、xlrd.xldate.xldate_as_datetime(xldate, datemode)

### 回答1: xlrdPython中一个用于读取Excel文件的第三方库。它能够读取Excel文件中的数据、格式和公式,并将其转化为Python中的数据类型以供进一步操作。 使用xlrd需要先安装该库,可以通过pip包管理器进行安装,命令如下: ``` pip install xlrd ``` 安装完毕后,可以通过以下代码来读取Excel文件: ```python import xlrd # 打开Excel文件 workbook = xlrd.open_workbook('example.xlsx') # 获取所有sheet的名称 sheet_names = workbook.sheet_names() # 选择第一个sheet sheet = workbook.sheet_by_index(0) # 获取行数和列数 nrows = sheet.nrows ncols = sheet.ncols # 读取第一行数据 first_row = sheet.row_values(0) # 读取第二列数据 second_col = sheet.col_values(1) # 读取第一行第一列的数据 cell_value = sheet.cell_value(0, 0) ``` 以上代码展示了如何使用xlrd打开Excel文件、获取sheet名称、读取行列数据和单元格数据等操作。 ### 回答2: Pythonxlrd库是用于读取Excel文件的库。xlrd库可以解析Excel文件,并将数据导入到Python中进行处理和分析。 使用xlrd库,首先需要安装该库。可以使用pip命令来安装,命令如下: ``` pip install xlrd ``` 安装完成后,可以使用import语句将xlrd库导入到Python程序中: ```python import xlrd ``` xlrd库提供了许多功能,用于读取Excel文件的各种信息。下面是一些常用的功能: 1. 打开Excel文件: 使用`xlrd.open_workbook`函数来打开一个Excel文件: ```python book = xlrd.open_workbook("file_path") ``` 其中,`file_path`是Excel文件的路径。 2. 获取工作表: 使用`book.sheet_by_index(index)`或`book.sheet_by_name(name)`方法来获取工作表。参数可以是工作表的索引或名称: ```python sheet = book.sheet_by_index(0) # 根据索引获取第一个工作表 sheet = book.sheet_by_name("Sheet1") # 根据名称获取工作表 ``` 3. 获取行数和列数: 使用`sheet.nrows`和`sheet.ncols`属性来获取工作表的行数和列数: ```python num_rows = sheet.nrows # 获取行数 num_cols = sheet.ncols # 获取列数 ``` 4. 获取单元格的值: 使用`sheet.cell_value(row, col)`方法来获取指定单元格的值,其中`row`和`col`分别为行和列的索引: ```python value = sheet.cell_value(0, 0) # 获取第一个单元格的值 ``` 5. 遍历所有单元格的值: 可以使用循环来遍历工作表中的所有单元格,以进行数据处理: ```python for row in range(sheet.nrows): for col in range(sheet.ncols): value = sheet.cell_value(row, col) # 处理单元格的值 ``` 总而言之,xlrd库提供了方便的功能来读取Excel文件中的数据,使得Python可以轻松处理和分析Excel文件中的信息。 ### 回答3: Python xlrd是一个用于读取和操作Excel文件的库。它提供了许多功能,使我们能够轻松地从Excel文件中提取数据和进行计算。 首先,我们可以使用xlrd打开Excel文件,并获取工作簿对象。通过工作簿对象,我们可以获得所有的工作表,并对每个工作表进行操作。 接下来,我们可以使用xlrd读取工作表中的数据。我们可以通过指定行号和列号来获取特定单元格的值,并使用for循环遍历整个工作表的数据。xlrd还提供了一些方法,可以返回单元格的数据类型,如字符串、日期等,以及用于处理合并单元格的方法。 除了读取数据,xlrd还提供了一些其他的功能。我们可以使用xlrd获取工作表的名称、行数、列数等信息。我们还可以使用xlrd来处理Excel文件中的日期和时间格式,进行日期和时间的转换和计算。 总之,Python xlrd是一个功能强大的库,可以在Python中读取和操作Excel文件。无论是提取数据、进行计算还是处理日期和时间,xlrd都提供了各种方法和函数来满足我们不同的需求。它对于数据处理和分析非常有用,并且易于学习和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值