1. 导入xlrd和xlwt模块
在开始使用xlrd和xlwt处理Excel文件之前,我们需要先导入对应的模块。
import xlrd
import xlwt
2. 打开和读取Excel文件
使用xlrd的open_workbook函数可以打开一个Excel文件,并返回一个Workbook对象,然后可以使用sheet_by_index或sheet_by_name方法根据索引或名称获取工作簿中的工作表。
2.1 打开Excel文件
# 打开Excel文件
workbook = xlrd.open_workbook('data.xlsx')
2.2 获取工作表
# 根据索引获取工作表
sheet = workbook.sheet_by_index(0)
# 根据名称获取工作表
sheet = workbook.sheet_by_name('Sheet1')
3. 读取Excel数据
使用xlrd的方法可以获取Excel表格中的数据,包括单元格的值、行数、列数等。
3.1 获取单元格的值
# 获取单元格的值
cell_value = sheet.cell_value(row, col)
其中,row和col分别表示单元格的行索引和列索引,从0开始计数。
3.2 获取行数和列数
# 获取行数
num_rows = sheet.nrows
# 获取列数
num_cols = sheet.ncols
4. 创建和写入Excel文件
使用xlwt可以创建一个新的Excel文件,并写入数据。
4.1 创建一个新的Excel文件
# 创建一个新的Excel文件
workbook = xlwt.Workbook()
4.2 创建工作表并写入数据
# 创建工作表
sheet = workbook.add_sheet('Sheet1')
# 写入数据
sheet.write(row, col, value)
其中,row和col表示单元格的行索引和列索引,value表示要写入的值。
5. 保存Excel文件
使用xlwt的save方法可以保存Excel文件。
# 保存Excel文件
workbook.save('new_data.xls')
6. 完整示例代码
import xlrd
import xlwt
# 打开Excel文件
workbook = xlrd.open_workbook('data.xlsx')
# 获取工作表
sheet = workbook.sheet_by_index(0)
# 获取行数和列数
num_rows = sheet.nrows
num_cols = sheet.ncols
# 创建一个新的Excel文件
new_workbook = xlwt.Workbook()
new_sheet = new_workbook.add_sheet('Sheet1')
# 遍历每个单元格并写入新文件
for row in range(num_rows):
for col in range(num_cols):
cell_value = sheet.cell_value(row, col)
new_sheet.write(row, col, cell_value)
# 保存新文件
new_workbook.save('new_data.xls')
7. 总结
使用xlrd和xlwt模块可以方便地读取和写入Excel文件。通过打开和读取Excel文件,我们可以获取到工作表中的数据,然后可以对数据进行处理。通过创建和写入Excel文件,我们可以将处理后的数据保存到新的文件中。在使用这些模块时,需要注意文件路径和引入模块的方式。