实例所用资源:https://download.csdn.net/download/weixin_46623003/16096246
一、数据情况及要求
1、原数据情况
2、要求
- 将“科目”分列,构造出科目代码
- 删除A列内容
- 将数据整体下移1单元格,右移动2单元格
3、最后结果
二、python实现过程
1、选择库
此处用openpyxl来操作,该库的环境配置及可实现操作如下:
特别注意:openpyxl不能操作 .xls 文件
其他库的情况参见链接:https://blog.csdn.net/qq_34617032/article/details/80433939
2、代码
import openpyxl # openpyxl只能打开xlsx文件
path = r'C:\个人文件夹\Data analysis learning\skit-learn\Workspace\document_vscode\test2'
wb = openpyxl.load_workbook(path + '/1.xlsx')
sheet = wb.get_active_sheet()
sheet.title # 结果:'Sheet1'
sheet.dimensions # 结果:'A1:C5'
# sheet.max_row # 结果:5
# sheet.max_column # 结果:3
# 1 插入列
sheet.insert_cols(idx=3,amount=1) # idx:插入的位置,用数字3,amount:插入的列数
sheet['C1'] = '科目代码'
# 2 分列
for i in range(2,sheet.max_row+1):
sheet['c'+str(i)] = sheet['d'+str(i)].value.split("/",1)[0] # split("m",n),m:分隔符,n:分割n次,得到n+1部分
# 3 删除列
sheet.delete_cols(idx=1,amount=1) # idx:参数用数字1
# 4 移动位置
sheet.move_range(cell_range='A1:C5',rows=1,cols=2) # 下移1,右移2
# 5 重新保存
wb.save(path+'/1_copy.xlsx')