利用python操作excel

个人工作记录使用,有侵权请及时联系删除

工作需要,经常需要跟excel打交道,准备做一个过滤本省本网的工具集成到自动化脚本中(本省本网:就是资源节点是本地设备覆盖,涉及公司具体业务,故不做赘述),这个工具会用到xlrd(读excel),xlwt(写excel),话不多讲上代码

import xlwt
import xlrd
import datetime

def local_net():
    file_name=input('请输入文件名:')
    workbook=xlrd.open_workbook('文件路径%s'%file_name,'r')#打开excel表格,用xlrd
    sheet_name = workbook.sheet_names()[0]  # sheet名字
    sheet = workbook.sheet_by_name(sheet_name)
    #sheet=workbook.sheet_by_index(0)#sheet索引从0开始
    sheet=workbook.sheet_by_name(sheet_name)
    print(sheet.name,sheet.nrows,sheet.ncols)#打印sheet名,行,列
    cols_provice=sheet.col_values(2)#excel的索引类似于python列表是从0开始的,此处的2代表C列,以此类推
    cols_city=sheet.col_values(3)
    cols_pro=sheet.col_values(4)
    aim_cols_provice=sheet.col_values(10)
    aim_cols_city=sheet.col_values(11)
    aim_cols_pro=sheet.col_values(12)
    num=0
    local=xlwt.Workbook(encoding='utf-8')#这行是开始写,用xlwt
    worksheet1=local.add_sheet('非本省本网')#新建sheet名
    try:
        for     provice,city,pro,aim_provice,aim_city,aim_pro in zip(cols_provice,cols_city,cols_pro,aim_cols_provice,aim_cols_city,aim_cols_pro):#不用zip的时候会报错,qq一个老哥教的,感觉还挺好用
            if provice==aim_provice and city==aim_city and pro==aim_pro:#此处判断是否为本省本网
                continue
            else:
                #print(provice,city,pro,aim_provice,aim_city,aim_pro)
                worksheet1.write(num, 0, label=pro)#往里写
                worksheet1.write(num, 1, label=provice)
                worksheet1.write(num, 2, label=city)
                worksheet1.write(num, 3, label=aim_pro)
                worksheet1.write(num, 4, label=aim_provice)
                worksheet1.write(num, 5, label=aim_city)
                num+=1
                local.save('非本省本网%s.xls'%datetime.datetime.now().strftime('%Y-%m-%d')#获得当前时间)#保存excel
        print('表格已导出,请前往脚本执行路径下查看')
    except Exception as reult:
        print('导出失败,异常为%s'%reult)

if __name__=='__main__':
    local_net()

工具还没写完,目前先做到这里,后续会增加与其他表格的对比等功能,会及时更新

参考这位老哥的文章

https://www.cnblogs.com/zhoujie/p/python18.html

猜你喜欢

转载自blog.csdn.net/dhshttgb/article/details/85112308
今日推荐