飞机场场长

本博客主要摘录python相关的知识,欢迎参阅。

导航

python读取excel,使用了pywin32模块

http://hi.baidu.com/qjdsw/item/84ee94274023a00877272cc5

http://blog.csdn.net/wjwbin1986/article/details/6159154

python操作excel需要使用的win32com模块,可以从http://sourceforge.net/projects/pywin32/files/处下载。

 1 #!/usr/bin/env python  
 2 # -*- coding: utf-8 -*-  
 3 import win32com.client
 4  
 5 #---------------------------------------------------------------------------
 6 class easyExcel:
 7     '''
 8     Some convenience methods for Excel documents accessed
 9     through COM.
10     '''
11     def __init__(self, filename=None):
12         '''
13         Create a new application
14         if filename is None, create a new file
15         else, open an exsiting one
16         '''
17         self.xlApp = win32com.client.Dispatch('Excel.Application')
18         self.xlApp.Visible = False
19         if filename:
20             self.filename = filename  
21             self.xlBook = self.xlApp.Workbooks.Open(filename)  
22         else:  
23             self.xlBook = self.xlApp.Workbooks.Add()  
24             self.filename = ''    
25     def visible(self,visible = True):
26         '''
27         if Visible is true, the applicaion is visible
28         '''
29         self.Visible = visible
30     def save(self, newfilename=None):
31         '''
32         if filename is None, save the openning file
33         else save as another file used the given name
34         '''
35         if newfilename:
36             self.filename = newfilename  
37             self.xlBook.SaveAs(newfilename)  
38         else:  
39             self.xlBook.Save()      
40     def close(self):
41         '''
42         Close the application
43         '''
44         self.xlBook.Close(SaveChanges=0)  
45         del self.xlApp  
46     def getCell(self, sheet, row, col):  
47         '''
48         Get value of one cell
49         '''
50         sht = self.xlBook.Worksheets(sheet)  
51         return sht.Cells(row, col).Value  
52     def setCell(self, sheet, row, col, value):  
53         '''
54         Set value of one cell
55         '''
56         sht = self.xlBook.Worksheets(sheet)  
57         sht.Cells(row, col).Value = value 
58     def getRange(self,sheet,row1,col1,row2,col2):
59         '''
60         Return a 2d array (i.e. tuple of tuples)
61         '''
62         sht = self.xlBook.Worksheets(sheet)
63         return sht.Range(sht.Cells(row1,col1),sht.Cells(row2,col2)).Value
64     def setRange(self,sheet,leftCol,topRow,data):
65         '''
66         Insert a 2d array starting at given location.
67         i.e. [['a','b','c'],['a','b','c'],['a','b','c']]
68         Works out the size needed for itself
69         '''
70         bottomRow = topRow + len(data) - 1
71         rightCol = leftCol + len(data[0]) - 1
72         sht = self.xlBook.Worksheets(sheet)
73         sht.Range(sht.Cells(topRow, leftCol), sht.Cells(bottomRow, rightCol)).Value = data   
74         
75         
76         
77 if __name__ == "__main__":
78     excelProxy = easyExcel("D:\chart_demo.xls")
79     content=excelProxy.getRange("sheet1",4,1,6,3) 
80     print content
81 #    excelProxy.setRange("sheet1",2,1, ['a','b','c']) 
82 #    excelProxy.save()
83     excelProxy.close()

 

posted on 2013-05-15 15:56  飞机场场长  阅读(2679)  评论(0编辑  收藏  举报