下面是针对“PythonExcel处理库openpyxl使用详解”的完整实例教程,过程中包含两条示例说明的讲解。
PythonExcel处理库openpyxl使用详解
什么是openpyxl
openpyxl是一个Python Excel处理库,可以用于读取和写入Excel文件(xlsx/xlsm/xltx/xltm格式)。
安装
可以使用pip来安装openpyxl:
pip install openpyxl
新建Excel文件
使用openpyxl来新建一个Excel文件非常简单,只需要创建一个Workbook对象即可:
from openpyxl import Workbook
wb = Workbook()
新建Sheet
在新建的Excel文件中,Workbook对象默认会创建一个名为Sheet
的Sheet,如果想创建新的Sheet,可以使用Workbook对象的create_sheet
方法:
# 创建名为"Sheet2"的Sheet
sheet2 = wb.create_sheet("Sheet2")
# 创建一个名为"AnotherSheet"的Sheet,插入到最前面
another_sheet = wb.create_sheet("AnotherSheet", 0)
写入数据
在Sheet中写入数据非常简单,只需要给对应单元格赋值即可:
sheet["A1"] = "Hello, World!"
如上代码会在Sheet
中的A1单元格写入字符串“Hello, World!”
。
同时,在openpyxl中还有其他方式可以批量添加数据,比如使用append
方法添加多行数据:
data = [
['name', 'age', 'gender'],
['Tom', 20, 'male'],
['Jerry', 18, 'female'],
['Micky', 22, 'male']
]
for row in data:
sheet.append(row)
如上代码会在Sheet
中添加一个表格,内容与data
列表相同。
读取数据
在openpyxl中读取Excel文件也非常容易,只需要使用对应单元格的值即可:
print(sheet["A1"].value)
如上代码会输出A1单元格中的值,即“Hello, World!”
。
同时,也支持遍历Sheet中所有单元格:
for row in sheet:
for cell in row:
print(cell.value, end="\t")
print()
如上代码会输出Sheet中所有单元格的值。
示例1:统计Excel文件中单元格的数量
from openpyxl import load_workbook
# 加载Excel文件
wb = load_workbook("example.xlsx")
# 遍历Sheet及其所有单元格,统计单元格数量
cell_counter = 0
for sheet in wb:
for row in sheet:
for cell in row:
cell_counter += 1
print(f"The Excel file contains {cell_counter} cells.")
如上代码会输出Excel文件中单元格的数量。
示例2:将数据写入Excel文件
from openpyxl import Workbook
# 创建Workbook和Sheet
wb = Workbook()
sheet = wb.active
# 添加数据
data = [
['name', 'age', 'gender'],
['Tom', 20, 'male'],
['Jerry', 18, 'female']
]
for row in data:
sheet.append(row)
# 保存Excel文件
wb.save("example.xlsx")
如上代码会新建一个Excel文件,将数据写入Sheet中,并保存文件。
以上就是openpyxl的使用详解,通过这些基本操作,可以完成大部分Excel文件的读取和写入需求。