Python办公自动化:使用openpyxl对行与列的操作(一)

1 插入与删除行和列

在 Excel 中,可以方便地插入或删除行和列。openpyxl 提供了相应的方法来执行这些操作。

插入行

可以使用 Worksheet.insert_rows() 方法在指定位置插入新行。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])

# 在第二行写入数据
sheet.append([1, 2, 3])

# 在第二行插入3行空行
sheet.insert_rows(2, amount=3)

# 保存工作簿
workbook.save('insert_rows_example.xlsx')

代码解释

  • sheet.insert_rows(2, amount=3):在第二行插入3行空行。amount 参数指定插入的行数,默认值为1。

删除行

可以使用 Worksheet.delete_rows() 方法删除指定的行。

import openpyxl

# 打开现有工作簿
workbook = openpyxl.load_workbook('insert_rows_example.xlsx')
sheet = workbook.active

# 删除第二行的3行
sheet.delete_rows(2, amount=3)

# 保存工作簿
workbook.save('delete_rows_example.xlsx')

代码解释

  • sheet.delete_rows(2, amount=3):从第二行开始删除3行。

插入列

类似于插入行,可以使用 Worksheet.insert_cols() 方法插入新列。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])

# 在第二行写入数据
sheet.append([1, 2, 3])

# 在第二列插入2列空列
sheet.insert_cols(2, amount=2)

# 保存工作簿
workbook.save('insert_cols_example.xlsx')

代码解释

  • sheet.insert_cols(2, amount=2):在第二列插入2列空列。

删除列

可以使用 Worksheet.delete_cols() 方法删除指定的列。

import openpyxl

# 打开现有工作簿
workbook = openpyxl.load_workbook('insert_cols_example.xlsx')
sheet = workbook.active

# 删除第二列的2列
sheet.delete_cols(2, amount=2)

# 保存工作簿
workbook.save('delete_cols_example.xlsx')

代码解释

  • sheet.delete_cols(2, amount=2):从第二列开始删除2列。

2 隐藏与取消隐藏行和列

在 Excel 中,隐藏行和列可以使数据更清晰,openpyxl 提供了对行和列进行隐藏和取消隐藏的功能。

隐藏行和列

可以通过设置 Worksheet.row_dimensionsWorksheet.column_dimensionshidden 属性来隐藏行和列。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])

# 在第二行写入数据
sheet.append([1, 2, 3])

# 隐藏第二行
sheet.row_dimensions[2].hidden = True

# 隐藏第二列
sheet.column_dimensions['B'].hidden = True

# 保存工作簿
workbook.save('hide_rows_cols_example.xlsx')

代码解释

  • sheet.row_dimensions[2].hidden = True:隐藏第二行。
  • sheet.column_dimensions['B'].hidden = True:隐藏第二列。

取消隐藏行和列

通过将 hidden 属性设置为 False 可以取消隐藏行和列。

import openpyxl

# 打开现有工作簿
workbook = openpyxl.load_workbook('hide_rows_cols_example.xlsx')
sheet = workbook.active

# 取消隐藏第二行
sheet.row_dimensions[2].hidden = False

# 取消隐藏第二列
sheet.column_dimensions['B'].hidden = False

# 保存工作簿
workbook.save('unhide_rows_cols_example.xlsx')

代码解释

  • sheet.row_dimensions[2].hidden = False:取消隐藏第二行。
  • sheet.column_dimensions['B'].hidden = False:取消隐藏第二列。

3 调整行高与列宽

openpyxl 允许用户设置工作表中行的高度和列的宽度,以便更好地展示数据。

设置行高

可以使用 Worksheet.row_dimensionsheight 属性来设置行高。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])

# 设置第一行的行高为40
sheet.row_dimensions[1].height = 40

# 保存工作簿
workbook.save('row_height_example.xlsx')

代码解释

  • sheet.row_dimensions[1].height = 40:将第一行的行高设置为40点。

设置列宽

可以使用 Worksheet.column_dimensionswidth 属性来设置列宽。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])

# 设置第一列的列宽为20
sheet.column_dimensions['A'].width = 20

# 保存工作簿
workbook.save('col_width_example.xlsx')

代码解释

  • sheet.column_dimensions['A'].width = 20:将第一列的列宽设置为20字符。
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值