本期,我们利用xlwings拆分Excel,将Excel中某列中的内容拆成三列,例如:
上图中,尺寸这一栏中用“*”将“长、宽、高”进行了分割,我们利用xlwings将“长、宽、高”分别变为一列,具体代码如下:
import xlwings as xwimport pandas as pdpath=r'C:\Users\XXX\Python_project\Python办公自动化\xlwings对Excel表格内容进行拆分\ex1.xlsx'app=xw.App(visible=False,add_book=False)wb=app.books.open(path)wsheet=wb.sheets['Sheet1']#输出为DataFrame类型data=wsheet.range('A1').options(pd.DataFrame,header=1,index=False,expand='table').value#print(data)new_data=data['尺寸(mm)'].str.split('*',expand=True)#print(new_data)new_data.columns=['长(mm)','宽(mm)','高(mm)']for i in range(new_data.shape[1]-1): wsheet['C:C'].insert(shift='right',copy_origin='format_from_left_or_above')wsheet['C1'].options(index=False).value=new_datawsheet.autofit()wb.save(r'C:\Users\XXX\Python_project\Python办公自动化\xlwings对Excel表格内容进行拆分\ex2.xlsx')wb.close()app.quit()
运行一遍,效果如下:
自己动手试试吧