下面是关于“Python操作excel的方法总结(xlrd、xlwt、openpyxl)”的完整实例教程。
一、背景
在日常工作和学习中,我们经常需要对Excel文件进行操作,例如读取或修改Excel中的数据。Python作为一门非常流行的编程语言,也有很多库可以用来操作Excel,例如xlrd、xlwt和openpyxl等。
本教程将详细介绍如何使用上述三个库来进行Excel文件的读取和写入。
二、xlrd库的使用
2.1 安装
在使用xlrd库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:
pip install xlrd
2.2 读取Excel文件
下面是读取Excel文件并输出数据的一个简单示例:
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook("example.xls")
# 获取所有sheet名字
sheet_names = workbook.sheet_names()
# 选择第一个sheet
sheet = workbook.sheet_by_name(sheet_names[0])
# 获取行数和列数
nrows = sheet.nrows
ncols = sheet.ncols
# 输出表头
headers = [sheet.cell_value(0, col) for col in range(ncols)]
print(headers)
# 输出每一行
for row in range(1, nrows):
values = [sheet.cell_value(row, col) for col in range(ncols)]
print(values)
上述代码首先使用xlrd
中的open_workbook
函数打开Excel文件,然后选择第一个sheet,最后使用cell_value
函数获取指定单元格的数据。
2.3 写入Excel文件
下面是将数据写入Excel文件的一个简单示例:
import xlrd
import xlwt
# 打开Excel文件
workbook = xlrd.open_workbook("example.xls")
# 创建一个新的Excel文件
new_workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的sheet
sheet = new_workbook.add_sheet("Sheet1", cell_overwrite_ok=True)
# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
sheet.write(0, col, header)
# 写入数据
data = ["Tom", 20, "Male"]
for col, value in enumerate(data):
sheet.write(1, col, value)
# 保存Excel文件
new_workbook.save("new_example.xls")
上述代码首先使用xlrd
中的open_workbook
函数打开Excel文件,然后使用xlwt
中的Workbook
函数创建一个新的Excel文件,接着使用add_sheet
函数添加一个新的sheet,最后使用write
函数写入数据并保存Excel文件。
三、xlwt库的使用
3.1 安装
在使用xlwt库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:
pip install xlwt
3.2 写入Excel文件
下面是使用xlwt将数据写入Excel文件的一个示例:
import xlwt
# 创建一个新的Excel文件
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的sheet
sheet = workbook.add_sheet("Sheet1", cell_overwrite_ok=True)
# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
sheet.write(0, col, header)
# 写入数据
data_list = [
["Tom", 20, "Male"],
["Jerry", 21, "Female"],
["John", 22, "Male"]
]
for row, data in enumerate(data_list):
for col, value in enumerate(data):
sheet.write(row+1, col, value)
# 保存Excel文件
workbook.save("example.xls")
上述代码首先使用xlwt
中的Workbook
函数创建一个新的Excel文件,然后使用add_sheet
函数添加一个新的sheet,最后使用write
函数写入数据并保存Excel文件。
四、openpyxl库的使用
4.1 安装
在使用openpyxl库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:
pip install openpyxl
4.2 读取Excel文件
下面是使用openpyxl读取Excel文件的一个示例:
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook("example.xlsx")
# 获取所有sheet名字
sheet_names = workbook.get_sheet_names()
# 选择第一个sheet
sheet = workbook.get_sheet_by_name(sheet_names[0])
# 获取行数和列数
nrows = sheet.max_row
ncols = sheet.max_column
# 输出表头
headers = [sheet.cell(row=1, column=col).value for col in range(1, ncols+1)]
print(headers)
# 输出每一行
for row in range(2, nrows+1):
values = [sheet.cell(row=row, column=col).value for col in range(1, ncols+1)]
print(values)
上述代码首先使用openpyxl
中的load_workbook
函数加载Excel文件,然后选择第一个sheet,最后使用cell
函数获取指定单元格的数据。
4.3 写入Excel文件
下面是使用openpyxl将数据写入Excel文件的一个示例:
from openpyxl import Workbook
# 创建一个新的Excel文件
workbook = Workbook()
# 添加一个新的sheet
sheet = workbook.active
# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
sheet.cell(row=1, column=col+1, value=header)
# 写入数据
data_list = [
["Tom", 20, "Male"],
["Jerry", 21, "Female"],
["John", 22, "Male"]
]
for row, data in enumerate(data_list):
for col, value in enumerate(data):
sheet.cell(row=row+2, column=col+1, value=value)
# 保存Excel文件
workbook.save("example.xlsx")
上述代码首先使用openpyxl
中的Workbook
函数创建一个新的Excel文件,然后使用active
属性获取当前sheet,最后使用cell
函数写入数据并保存Excel文件。
以上就是关于“Python操作excel的方法总结(xlrd、xlwt、openpyxl)”的完整实例教程,希望对大家有所帮助。