openpyxl操作单元格
openpyxl操作单元格
插入行和列
# 插入行,可以填入两个参数,第一个是从第几行开始,第二个是添加几行,下面是从第二行开始插入三行空白行
ws.insert_rows(2,3)
# 插入列,同上
ws.insert_cols(1,2)
在最后一行插入
# 在最后一行添加,括号内参数可以是列表、元组等对象
ws.append(['A','B','C','D'])
单元格操作
1.通过字母和数字确定表格插入内容
ws['A1'] = '单元格测试'
2.通过cell的参数和value方法插入内容
ws.cell(1,3).value = '第三个单元格测试'
3.都通过参数的形式确定单元格
ws.cell(row=1,column=4,value='第四个单元格测试')
整行读取操作
1.使用rows属性,返回一个关于行数据的生成器,将其转化为元组进行遍历输出
# 将rows属性的值赋值
row_list = ws.rows
# 转换为元组
row_list = tuple(row_list)
# 从row_list元组里面循环读取一个元组
#((第一行数据,1,2,3,4),(第二行数据1,2,3,4,),(第三行数据))....
for row in row_list:
# 内层循环是从row循环里读取每一个值
for cell in row:
# 读取单元格的值需要value属性,取内层元组的value赋值到value变量,遍历输出
value = cell.value
print(value)
2.使用ws.iter_rows()方法读取,和rows属性类似,也是返回一个生成器,可以通过参数指定读取的范围
# 参数可以是min_row,max_row,min_col,max_col
# 读取9行,也rows相同
row_list = ws.iter_rows(min_row=1,max_row=10)
row_list = tuple(row_list)
for row in row_list:
for cell in row:
value = cell.value
print(value)
3.使用ws[int]获取行
mcell = ws[1]
for i in mcell:
print(i.value)
整列读取
1.通过columns属性
# 将columns赋值给column_list
column_list = ws.columns
# 转换成元组
column_list = tuple(column_list)
# 循环打印,调用value属性
# ((第一列数据),(第二列数据))
for col in column_list:
for cell in col:
value = cell.value
print(value)
2.通过ws.iter_cols()方法
# 将iter_cols赋值给column_list
column_list = ws.iter_cols(2,2)
# 转换成元组
column_list = tuple(column_list)
# 循环打印,调用value属性
# ((第一列数据),(第二列数据))
for col in column_list:
for cell in col:
value = cell.value
print(value)
3.使用ws['A']方式获取列
# A代表第一列,返回一个元组
mcell = ws['A']
for i in mcell:
print(i.value)
点点滴滴,积少成多,终有一日能发挥用处。