下面我为您详细讲解“Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)”的完整实例教程。
一、前言
Excel是表格处理中常见的工具,因此在实际工作中我们经常需要处理Excel文件,使用Python进行读写和处理Excel文件会给我们带来很多方便。Python中也有很多第三方包可以帮助我们处理Excel文件,如xlrd、xlwt、openpyxl等,本文将详细介绍三个python库分别实现对Excel的读写并进行对比分析,适合初学者借鉴参考。
二、xlrd
1.安装xlrd
我们可以通过pip install命令安装xlrd包:
pip install xlrd
2.读取Excel文件
读取Excel文件的主要流程:
– 打开Excel文件,获取工作簿对象
– 选择工作表
– 获取数据
下面是一个读取Excel文件的示例代码:
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook('example.xlsx')
# 获取所有工作表名称
sheet_names = workbook.sheet_names()
print('所有工作表名称: ', sheet_names)
# 选择工作表
sheet = workbook.sheet_by_name('Sheet1')
# 获取单元格值
cell_value = sheet.cell_value(1, 1)
print('第2行第2列单元格的值: ', cell_value)
# 获取一整列的值
col_values = sheet.col_values(0)
print('第1列单元格值列表: ', col_values)
# 获取一整行的值
row_values = sheet.row_values(0)
print('第1行单元格值列表: ', row_values)
3.写入Excel文件
下面是使用xlrd写入Excel的示例代码:
# 引入xlrd中的Workbook类和Worksheet类
from xlrd import Workbook, Worksheet
# 创建Workbook
wb = Workbook()
# 创建Worksheet
sheet = wb.add_sheet('Sheet1')
# 写入数据
sheet.write(0, 0, 'This is the value of cell A1 in Sheet1')
sheet.write(1, 1, 'This is the value of cell B2 in Sheet1')
# 保存Excel文件
wb.save('example.xlsx')
4.优点和缺点
优点
- 支持读取xls和xlsx格式的Excel文件
- 读取Excel文件的速度较快
缺点
- 不支持写入和修改Excel文件
三、xlsxwriter
1.安装xlsxwriter
我们可以通过pip install命令安装xlsxwriter包:
pip install xlsxwriter
2.写入Excel文件
写入Excel文件的主要流程:
– 创建Workbook对象
– 创建Worksheet对象
– 写入数据
下面是使用xlsxwriter写入Excel文件的示例代码:
import xlsxwriter
# 创建Workbook对象
workbook = xlsxwriter.Workbook('example.xlsx')
# 创建Worksheet对象
sheet = workbook.add_worksheet()
# 写入数据
sheet.write('A1', 'This is the value of cell A1')
sheet.write('B2', 'This is the value of cell B2')
# 保存Excel文件
workbook.close()
3.优点和缺点
优点
- 支持写入和修改Excel文件
- 支持设置单元格格式
缺点
- 不支持读取Excel文件
四、openpyxl
1.安装openpyxl
我们可以通过pip install命令安装openpyxl包:
pip install openpyxl
2.读取Excel文件
读取Excel文件的主要流程:
– 加载Excel文件
– 选择工作表
– 获取数据
下面是使用openpyxl读取Excel文件的示例代码:
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook(filename='example.xlsx')
# 选择工作表
sheet_names = workbook.sheetnames
sheet = workbook[sheet_names[0]]
# 获取单元格值
cell_value = sheet['B2'].value
print('B2单元格的值: ', cell_value)
# 获取一整列的值
col_values = [cell.value for cell in sheet['A']]
print('A列单元格值列表: ', col_values)
# 获取一整行的值
row_values = [cell.value for cell in sheet[1]]
print('1行单元格值列表: ', row_values)
3.写入Excel文件
下面是使用openpyxl写入Excel的示例代码:
from openpyxl import Workbook
# 创建Workbook对象
workbook = Workbook()
# 创建Worksheet对象
sheet = workbook.active
# 写入数据
sheet['A1'] = 'This is the value of cell A1'
sheet['B2'] = 'This is the value of cell B2'
# 保存Excel文件
workbook.save('example.xlsx')
4.优点和缺点
优点
- 支持读取和写入Excel文件
- 支持设置单元格格式
缺点
- 读取Excel文件的速度较慢
五、总结
本文分别介绍了三个Python库:xlrd、xlsxwriter和openpyxl,分别实现了对Excel的读写,并进行了优缺点对比分析。根据不同的实际需求,我们可以选择不同的python库来进行Excel文件的处理。