• python操作Excel


    import openpyxl
    import pandas as pd 
    import numpy as np 
    import openpyxl as pyxl
    import xlrd
    import xlwt
    from xlutils.copy import copy
    import os  
    
    
    totalPath = input("请输入总清单Excel:")  
    file_dir = input("请输入打包清单路径:")
    
    for root, dirs, files in os.walk(file_dir):  
        print(root) #当前目录路径  
        print(dirs) #当前路径下所有子目录  
        print(files) #当前路径下所有非目录子文件 
        for file in files: 
            packPath = os.path.join(root, file)
    
            savefile = root + "/" + os.path.splitext(file)[0] + "含图纸编号.xls"
            #修改Excel
            bk1 = xlrd.open_workbook(packPath)
            bk2 = copy(bk1)
    
            xl = pd.ExcelFile(packPath)
            sheetName = xl.sheet_names 
    
            print(sheetName)
    
            for i in range(len(sheetName)):
                packDFRaw = pd.read_excel(packPath,sheetname=i,header=1)
                #删除最后一行
                rowEnd = len(packDFRaw)
                packDF = packDFRaw.drop(index = [rowEnd-1])
                #获得模板编号
                packBoardId = packDF["模板编号"]
    
                #从总清单中找到模板编号对应的图纸编号
                totalDFRow = pd.read_excel(totalPath,header=1)
                # drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行
                # 返回DataFrame格式的数据
                totalDF = totalDFRow.drop_duplicates("模板编号", 'first', inplace=False)
                totalSeries = pd.Series(totalDF["图纸编号"].values, index = totalDF["模板编号"])
                #imgeIdList图纸编号
                imageIdList = []
                for boardId in packBoardId:
                    print(boardId)    
                    temp = totalSeries[boardId]
                    print(temp)
                    imageIdList.append(temp)
                print(type(imageIdList))
    
    
                ws = bk2.get_sheet(i)
                ws.write(1,3,"图纸编号")
                for j in range(0, len(imageIdList) ):
                    print(imageIdList[j])
                    ws.write(2+j,3,imageIdList[j])
    
            bk2.save(savefile)
  • 相关阅读:
    mysql 删除与安装
    mysql 中文乱码 或 问号
    系统锁屏
    技术相关
    织梦 php 网站建设
    linux mysql 安装与使用
    技术收集
    批处理 关闭 进程
    二十三种设计模式
    三星(samsung)手机i699内容:解锁boot loader,刷recovery,刷机(刷rom),root综合教程
  • 原文地址:https://www.cnblogs.com/vijing/p/10897440.html
Copyright © 2020-2023  润新知