凤凰涅槃 浴火重生

Python Excel操作 [待验证]

上一篇 / 下一篇  2010-11-08 22:26:56 / 个人分类:Python

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



TAG:

 

评分:0

我来说两句

fly_away

fly_away

MY GOD,暴雪居然敢让我家的DK骑羊!!!

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 11457
  • 日志数: 23
  • 图片数: 1
  • 文件数: 2
  • 书签数: 1
  • 建立时间: 2008-12-24
  • 更新时间: 2016-05-02

RSS订阅

Open Toolbar