凤凰涅槃 浴火重生

发布新日志

  • Python Excel操作 [待验证]

    2010-11-08 22:26:56

    PYTHON 操作Excel 先留着,未验证

    from win32com.client import Dispatch
    import win32com.client
    import re

    class xlsExcel:
        def __init__(self, filename=None):
            self.xlApp = win32com.client.Dispatch('Excel.Application')
            self.xlApp.visible = 1
            self.displayalerts = 1
            if filename:
                self.filename = filename
                self.xlBook = self.xlApp.Workbooks.Open(filename)
            else:
                self.xlBook = self.xlApp.Workbooks.Add()
                self.filename = ''#'d:\ftp\test2.xls'
       
        def save(self, newfilename=None):
            if newfilename:
                self.filename = newfilename
                self.xlBook.SaveAs(newfilename)
            else:
                self.xlBook.Save()   

        def close(self):
            self.xlBook.Close(SaveChanges=0)
            del self.xlApp

        def setCell(self, sheet, row, col, value):
            "set value of one cell"
            sht = self.xlBook.Worksheets(sheet)
            sht.Cells(row, col).Value = value

    #file operator
    FH = open('d:/ftp/dat','rb')
    #FH = open('d:/ftp/col_bdg.txt','rb')
    count = 0
    if __name__ == "__main__":
        xls = xlsExcel() #(r'd:\ftp\a.xls')
        xlsExcel.setCell(xls,1,1,1,"TableName")
        xlsExcel.setCell(xls,1,1,2,"Field")
        xlsExcel.setCell(xls,1,1,3,"Risk")
        row = 1
        while (FH):
            ++count
            aLine = FH.readline()
            if (aLine):          
                aLine = aLine.split()
                key0 = aLine[0]
                key1 = aLine[1]
                #key = re.compile(r'date')
                key = re.compile(r'phone|tel[\d ]|mail|fax|(_pass)$|pwd|password|address|^(name)$|[^(tel|dic|rea|ty)]_name|idcard|(_no)$|date')
               
                #key2 = re.findall(r'phone|tel[\d ]|mail|fax|(_pass)$|pwd|password|address|^(name)$|[^(tel|dic|rea|ty)]_name|idcard|(_no)$|date',aLine[1].lower())
                #print key1,key2
                row = row + 1
                xlsExcel.setCell(xls,1,row,1,key0)
                xlsExcel.setCell(xls,1,row,2,key1)
                if ( key.search(aLine[1].lower())):
                    xlsExcel.setCell(xls,1,row,3,'1')
                    #can't to display the characters
                else:
                    continue
            else:
                break
        print count
    FH.close


  • Python 学习资料

    2010-11-03 17:33:09

    JavaEye上面的

    http://fyan.javaeye.com/blog/796459
  • Python 中的 for 语句[0]

    2010-10-30 10:19:32

    在python中for语句被赋于了更大的灵活性,不仅用于循环,也能用来进行遍历。
                                                    (貌似JS也是这个功能。)

    一、循环


    二、遍历

    2.1  遍历字符串

    例如:26个英语字母,分别用1~26标识,对于attitude单词这个标识和为多少?

    写法1:sum(ord(ch)-96 for ch in list('attitude'))    
    写法2:sum(ord(ch)-96 for ch in 'attitude')

    注释:在python中,字符串、列表(list)都是可遍历的元素。
Open Toolbar