下面是对于“python使用xlrd模块读写Excel文件的方法”的完整实例教程。
xlrd模块简介
xlrd模块是Python中一个强大的用于读取Excel电子数据表格的库。xlrd模块可以读取Excel 2003版本之前的xls文件、Excel 2007版本之后的xlsx文件和以XML格式存储的Excel电子表格文件等,它同样在Windows、Linux、Mac等各种平台上都可以使用。
安装xlrd模块
使用pip工具可以轻松安装xlrd模块,如下所示:
pip install xlrd
读取Excel文件数据
使用xlrd模块读取Excel文件中的数据有以下步骤:
- 导入xlrd模块:
python
import xlrd
- 打开Excel文件:
python
book = xlrd.open_workbook('file.xls')
这里的“file.xls”指代的是你要读取的Excel文件的名称。
- 获取工作表对象:
python
sheet = book.sheet_by_index(0)
- sheet_by_index()表示按索引顺序获取Excel文件中的工作表对象,参数索引值从0开始。
-
sheet_by_name()表示按工作表名称获取Excel文件中的工作表对象。
-
获取行数和列数:
python
num_rows = sheet.nrows
num_cols = sheet.ncols
- 遍历Excel中的数据:
python
for i in range(num_rows):
for j in range(num_cols):
print(sheet.cell_value(i, j))
这里的cell_value()是用来获取单元格数据的函数。它的参数是单元格的行和列编号,从0开始编号,返回值为单元格中的数据。
示例1:假设我们有一个Excel文件,其中包含以下数据:
A | B | C | |
---|---|---|---|
1 | 1 | 2 | 3 |
2 | 4 | 5 | 6 |
3 | 7 | 8 | 9 |
我们可以使用以下代码来读取这个Excel文件并将其中的内容打印输出:
import xlrd
book = xlrd.open_workbook('example.xls')
sheet = book.sheet_by_index(0)
num_rows = sheet.nrows
num_cols = sheet.ncols
for i in range(num_rows):
for j in range(num_cols):
print(sheet.cell_value(i, j))
输出结果如下:
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
写Excel文件数据
如果想要使用Python写入Excel文件,需要使用到的是xlwt模块,它是Excel文件写入模块。下面我们来简单了解一下如何使用xlwt模块。
使用xlwt模块写入Excel文件有以下步骤:
- 导入xlwt模块:
python
import xlwt
- 创建Excel文件对象:
python
book = xlwt.Workbook(encoding='utf-8')
- 创建工作表对象:
python
sheet = book.add_sheet('Sheet1')
这里的‘Sheet1’表示工作表的名称。
- 写入数据:
python
sheet.write(row, col, data)
这里的write()函数用来将数据写入Excel文件中的单元格。它需要三个参数:行号、列号和数据。坐标原点为(0,0)。
- 保存Excel文件:
python
book.save('file.xls')
这里的“file.xls”指代的是你要写入的Excel文件的名称。
示例2:我们将前面的Excel表格的所有数字乘以2,再重新写入一个新的Excel文件中,代码如下:
import xlrd
import xlwt
book = xlrd.open_workbook('example.xls')
sheet = book.sheet_by_index(0)
num_rows = sheet.nrows
num_cols = sheet.ncols
new_book = xlwt.Workbook(encoding='utf-8')
new_sheet = new_book.add_sheet('Sheet1')
for i in range(num_rows):
for j in range(num_cols):
value = sheet.cell_value(i, j)
value = float(value) * 2
new_sheet.write(i, j, value)
new_book.save('new_file.xls')
执行完毕后,将会得到一个新的Excel文件new_file.xls
,其中包含所有数字乘以2后的内容。
总结
通过本文的介绍,我们了解了如何使用xlrd模块读取Excel文件中的数据,以及如何使用xlwt模块将数据写入Excel文件中。这些技能在日常的工作和数据处理中都是非常实用的。