关于Python里xlwings库对Excel表格的操作(十四)

这篇小笔记主要记录如何插入空白单元格、空白整行和空白整列。
前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】
【点击此处可进入目录】
(1)如何安装导入xlwings库;
(2)如何在Wps下使用xlwings中使用WPS对表格操作;
(3)如何安装导入xlwings库、如何用xlwings打开要操作的Excel表格;
(4)如何使用xlwings对Excel表格数据进行读取操作;
(5)如何使用xlwings对Excel表格进行“保存”或“另存为”操作;
(6) 如何使用xlwings对Excel表格进行写入数据操作;
(7)如何使用xlwings向Excel表格中写入Excel公式;
(8)如何使用xlwings库中的“name"函数和“replace”函数对工作表进行改名;
。。。。。。等等

【插入空白单元格或行列主要函数及方法】

插入空白单元格或行列主要是通过“range”函数及"insert"方法实现,但要注意只是插入空白单元或行列不包括原单元格的格式。插入空白单元格或行列后,这一单元格(或行列)及其下方(或右方)的内容都会统一集体向下或向右移动。

(1)worksheet.range('2:2').insert(shift='down')

#worsheet是指当前激活的工作表

#.range.('2:2').insert(shift='down')是指在“第2行”上方插入一空白行,“原第2行”及其下方各行统一集体向下移动一行

#若要在第10行上方插入空白行则写('10:10'),若要在第A列(即A列)左方插入空白列则写('A:A')

##<注意>

##<1>插入空白行或列的参数“shift='down'”只有两种:##一是“down”相当于“下方单元格下移”,二是“right”相当于“右方单元格右移”。

##<2>为什么没有“up”或“left”?皆因边界问题,例如在插入一行空白行若用“up”相当于“上方单元格上移”则原第1行给挤出表格了。

(2)worksheet.range('C:C').insert(shift='right')

#在“第C列”左侧中插入一空白列,“原第C列”及其右方各列统一集体向右移动一列

#若要在第10行上方插入空白行则写('10:10'),若要在第A列(即A列)左方插入空白列则写('A:A')

(3)worksheet.range('B5').insert(shift='down')

#在"B5"单元格中插入一空单元格,“原B5单元格”及其下方单元格统一集体向下移动一行,相当于点击插入单元格后选“下方单元格下移”

(4)worksheet.range('E5').insert(shift='right')

#在"E5"单元格中插入一空单元格,“原E5单元格”及其下方单元格统一集体向下移动一行,相当于点击插入单元格后选“右方单元格右移”

【用例子说说更直观】

'''
【插入空白单元格或行列主要函数及方法】
删除单元格主要是通过“range”函数及"insert"方法实现,但要注意插入的是空白内容不含格式。
插入空白单元格或行列后,跟在单元格下方(右方)或行列的数据会向下或向右移动其位置。
'''
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False               #关闭各种提示信息,可以提高运行速度
File_Name='E:/素材/学生成绩表.xls'
#打开要处理的Excel文件名
Work_Book=app.books.open(File_Name)      
#打开要处理的Excel文件中的工作簿
Work_Sheet=Work_Book.sheets[0]      
#打开要处理的Excel工作簿中的工作表;
#“[0]”是指定打开最靠前的第1份工作表,也可以把“0”写成要打开的指定要打开的“工作表的名称”;
#现在只打开这一个工作表也相当于激活这工作表,后面没有打开激活另一工作表,则所有操作只对现这工作表起作用。

Activate_Work_Sheet_Name=Work_Sheet.name
# 因为前面用“序号0”指定打开的工作表,所以现用“.name”函数获得打开的工作表名称
# 书写形式:工作簿.工作表[指定打开的名称或序号].name
print(f'现在打开的工作表名称为:《{Activate_Work_Sheet_Name}》')

Work_Sheet.range('2:2').insert(shift='down')
#在“第2行”上方插入一空白行,“原第2行”及其下方各行统一集体向下移动一行
#若要在第10行上方插入空白行则写('10:10'),若要在第A列(即A列)左方插入空白列则写('A:A')
##<注意>
##<1>插入空白行或列的参数“shift='down'”只有两种:##一是“down”相当于“下方单元格下移”,二是“right”相当于“右方单元格右移”。
##<2>为什么没有“up”或“left”?皆因边界问题,例如在插入一行空白行若用“up”相当于“上方单元格上移”则原第1行给挤出表格了。

Work_Sheet.range('C:C').insert(shift='right')
#在“第C列”左侧中插入一空白列,“原第C列”及其右方各列统一集体向右移动一列
#若要在第10行上方插入空白行则写('10:10'),若要在第A列(即A列)左方插入空白列则写('A:A')

Work_Sheet.range('B5').insert(shift='down')
#在"B5"单元格中插入一空单元格,“原B5单元格”及其下方单元格统一集体向下移动一行,相当于点击插入单元格后选“下方单元格下移”
##<注意>
##<1>插入空白单元格的参数“shift='down'”只有两种:##一是“down”相当于“下方单元格下移”,二是“right”相当于“右方单元格右移”。
##<2>为什么没有“up”或“left”?皆因边界问题,例如在第2行第A列插入一空白单元格若用“up”相当于“上方单元格上移”则原第1行给挤出表格了。

Work_Sheet.range('E5').insert(shift='right')
#在"E5"单元格中插入一空单元格,“原E5单元格”及其下方单元格统一集体向下移动一行,相当于点击插入单元格后选“右方单元格右移”

Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。

【运行前的表格】

关于Python里xlwings库对Excel表格的操作(十四)_第1张图片

【运行后的表格】

关于Python里xlwings库对Excel表格的操作(十四)_第2张图片

你可能感兴趣的:(Python入门,excel,python)