一、具体操作需求
很多时候,Excel文档中sheet表格里面的数据可能一开始就从不对或者说不合适的单元格位置输入,导致整个sheet表格很不美观,或者不适合进一步操作。
这就需要将sheet表格中的数据调换下位置。
比方说将整体数据向右或者向下移动一两个单元格。
二、具体代码
from openpyxl import load_workbook
import glob
Excel_list=glob.glob(‘.xlsx’)
for Excel_name in Excel_list:
Excel=load_workbook(Excel_name)
sheet=Excel[‘富士苹果’]
sheet.move_range(‘B2:E16’,rows=-1,col=-1)
Excel.save(Excel_name[:Excel_name.index(‘.’)]+’-移动单元格.xlsx)
以上代码就是最终极版本的操作代码。
运行的结果可以将指定文件夹内所有的Excel文档中的“富士苹果”sheet表格中“B2:E16”这一大块的数据向右和向下都移动一个单元格。
之后再将移动单元格后的Excel文档保存为新的Excel文档。
三、具体讲解
首先是前面两行代码。
from openpyxl import load_workbook
import glob
前一行代码是导入操作Excel文档的openpyxl这个第三方库中的load_workbook函数。
后面一行代码则是导入可以识别文件夹中所有Excel文档的第三方库。
接下来的这行代码则是使用导入的第三方库glob中的函数glob,用它来识别所有的Excel文档。
Excel_list=glob.glob(‘.xlsx’)
最后这块循环代码就是本次主题的重点所在了。
先是在识别的Excel文档中逐个打开Excel文档中名字为“富士苹果”的sheet表格。
之后再将指定位置的数据移动指定格数。
for Excel_name in Excel_list:
Excel=load_workbook(Excel_name)
sheet=Excel[‘富士苹果’]
sheet.move_range(‘B2:E16’,rows=-1,col=-1)
Excel.save(Excel_name[:Excel_name.index(‘.’)]+’-移动单元格.xlsx)
四、重点函数
想必朋友们已经看出来了,在这一大段代码中,移动单元格操作的函数就是move_range()。
这个函数起作用需要填三个参数,分别是要移动的数据所在的单元格位置、要移动的行数及方向、要移动的列数及方向。
sheet.move_range(‘B2:E16’,rows=-1,col=-1)
如上面代码的意思,就是将“B2:E16”这一大块的数据向右和向下都移动一个单元格。
rows和col这两个参数的赋值规则是,如果向上、向左移动单元格的话,就用正整数给他赋值,若是向下、向右移动单元格的话,就在要移动的格数前面加个负号——“-”。
rows这个参数是负责上下移动的,col这个参数则是负责左右移动的。
切记切记,在移动单元格这个操作函数move_range()中,是以左和上为正方向的,另外相对的右和下则是反方向,自然需要加上一个表示的符号——“-”。
这就和我们经常用的笛卡尔坐标一样了,只不过正反方向相反。
你细品一下,这个不难的,很简单,多用几遍就可以记下来了。
五、尾声
好了,以上就是今天的主题——使用Python批量移动Excel文档中指定sheet表格单元格。
这里是DFBoy,希望可以帮到你们。
如果你们觉得本次主题对你们有帮助的话,希望各位三连走起来,大家一起学习python,一起豆腐秀!
三、具体讲解
首先是前面两行代码。
from openpyxl import load_workbook
import glob
前一行代码是导入操作Excel文档的openpyxl这个第三方库中的load_workbook函数。
后面一行代码则是导入可以识别文件夹中所有Excel文档的第三方库。
接下来的这行代码则是使用导入的第三方库glob中的函数glob,用它来识别所有的Excel文档。
Excel_list=glob.glob(‘.xlsx’)
最后这块循环代码就是本次主题的重点所在了。
先是在识别的Excel文档中逐个打开Excel文档中名字为“富士苹果”的sheet表格。
之后再将指定位置的数据移动指定格数。
for Excel_name in Excel_list:
Excel=load_workbook(Excel_name)
sheet=Excel[‘富士苹果’]
sheet.move_range(‘B2:E16’,rows=-1,col=-1)
Excel.save(Excel_name[:Excel_name.index(‘.’)]+’-移动单元格.xlsx)
四、重点函数
想必朋友们已经看出来了,在这一大段代码中,移动单元格操作的函数就是move_range()。
这个函数起作用需要填三个参数,分别是要移动的数据所在的单元格位置、要移动的行数及方向、要移动的列数及方向。
sheet.move_range(‘B2:E16’,rows=-1,col=-1)
如上面代码的意思,就是将“B2:E16”这一大块的数据向右和向下都移动一个单元格。
rows和col这两个参数的赋值规则是,如果向上、向左移动单元格的话,就用正整数给他赋值,若是向下、向右移动单元格的话,就在要移动的格数前面加个负号——“-”。
rows这个参数是负责上下移动的,col这个参数则是负责左右移动的。
切记切记,在移动单元格这个操作函数move_range()中,是以左和上为正方向的,另外相对的右和下则是反方向,自然需要加上一个表示的符号——“-”。
这就和我们经常用的笛卡尔坐标一样了,只不过正反方向相反。
你细品一下,这个不难的,很简单,多用几遍就可以记下来了。
五、尾声
好了,以上就是今天的主题——使用Python批量移动Excel文档中指定sheet表格单元格。
这里是DFBoy,希望可以帮到你们。
如果你们觉得本次主题对你们有帮助的话,希望各位三连走起来,大家一起学习python,一起豆腐秀!