암호화 Excel 파일 데이터 분석

4682 단어

암호화 Excel 파일 데이터 분석


비즈니스 요구 사항:

  • win32com을 이용하여 목표 문서에 비밀번호를 전송하고 데이터를 분석한다
  • 주로 첫 번째 열의 데이터를 훑어보면서 색인 번호를 얻고 이 색인 번호를 이용하여 이 줄 뒤에 필요한 목표 데이터를 포지셔닝합니다
  • import win32com.client as win32
    import os
    
    
    class Put_password_do_excel(object):
        '''
             , , 
        '''
        xlApp = win32.gencache.EnsureDispatch('Excel.Application')
        xlApp.Visible = True
        xlApp.DisplayAlerts = 0
        xlApp.Visible = 2
    
        def load_files(self):
            '''
                 , 
            '''
            path = 'D:/data'
            files = os.listdir(path)
            for file in files:
                yield path + file
    
        def find_total_data(self, path, password):
            '''
                 , 
            '''
            xlopen = self.xlApp.Workbooks.Open(path, False, True, None, Password = password,WriteResPassword = password)
            #  Sheet1
            rsheet = xlopen.Worksheets(1)
            #  
            row_len = rsheet.Range('A65536').End(win32.constants.xlUp).Row
            print(' %s ' % row_len)
            #  
            for rlen in range(1, row_len):
                rValue = xlopen.Sheets(1).Cells(rlen,1)
                #  
                if 'XXX' in str(rValue):
                    XXX = xlopen.Sheets(1).Cells(rlen, 2)
                    print('XXX:', XXX)
                elif 'YYY' in str(rValue):
                    YYY = xlopen.Sheets(1).Cells(rlen, 3)
                    print('YYY:', YYY)
                elif 'ZZZ' in str(rValue):
                    ZZZ = xlopen.Sheets(1).Cells(rlen, 4)
                    KKK = xlopen.Sheets(1).Cells(rlen, 5)
                    print('ZZZ:%s; KKK:%s' % (ZZZ, KKK))
                else:
                    pass
            #  , 
            xlopen.Close(False)
            self.xlApp.Application.Quit()
    
        def main(self, password):
            files = self.load_files()
            for path in files:
                self.find_total_data(path, password)
    
    
    if __name__ == '__main__':
    
        Put_password_do_excel = Put_password_do_excel()
        password = 'XXXXXXXX'
        Put_password_do_excel.main(password)

    좋은 웹페이지 즐겨찾기