📅  最后修改于: 2020-04-11 02:04:22             🧑  作者: Mango
Openpyxl
是用于读取和写入Excel(扩展名为xlsx / xlsm / xltx / xltm)文件的Python库。openpyxl模块允许Python程序读取和修改Excel文件。
例如,用户可能必须遍历数千行并挑选一些信息以根据某些条件进行小的更改。使用Openpyxl模块,可以非常有效且轻松地完成这些任务。
使用此命令安装openpyxl
模块:
sudo pip3 install openpyxl
输入文件 :
代码#1:打印特定单元格值的程序
# Python程序读取Excel文件
# import openpyxl module
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 打开工作簿
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
# 从active属性获取工作簿活动表对象
sheet_obj = wb_obj.active
# 单元格对象还具有提供单元格位置信息的行,列和坐标属性。
# 注意:第一行或列整数为1,而不是0。
# 单元格对象是通过使用工作表对象的cell()方法创建的。
cell_obj = sheet_obj.cell(row = 1, column = 1)
# 使用value属性打印单元格对象的值
print(cell_obj.value)
输出:
STUDENT 'S NAME
代码2:确定总行数
# 导入openpyxl模块
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 打开工作簿
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
# 打印总行数
print(sheet_obj.max_row)
输出:
6
代码3:确定总列数
# 导入openpyxl模块
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
# ptint总列数
print(sheet_obj.max_column)
输出:
4
代码4:打印所有列的名称
# 导入openpyxl模块
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
max_col = sheet_obj.max_column
# 循环将打印所有列的名称
for i in range(1, max_col + 1):
cell_obj = sheet_obj.cell(row = 1, column = i)
print(cell_obj.value)
输出:
STUDENT 'S NAME
COURSE
BRANCH
SEMESTER
代码5:打印第一列的值
# 导入openpyxl模块
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
m_row = sheet_obj.max_row
# 循环将打印第一列的所有值
for i in range(1, m_row + 1):
cell_obj = sheet_obj.cell(row = i, column = 1)
print(cell_obj.value)
输出:
STUDENT 'S NAME
ANKIT RAI
RAHUL RAI
PRIYA RAI
AISHWARYA
HARSHITA JAISWAL
代码6:打印特定的行值
# 导入openpyxl模块
import openpyxl
# 给出文件的位置
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
# 工作簿对象已创建
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
max_col = sheet_obj.max_column
# 将打印特定的行值
for i in range(1, max_col + 1):
cell_obj = sheet_obj.cell(row = 2, column = i)
print(cell_obj.value, end = " ")
输出:
ANKIT RAI B.TECH CSE 4