python 操作 excel

python操作execel主要是读写

读 通过 http://pypi.python.org/pypi/xlrd

写 通过 http://pypi.python.org/pypi/xlwd

下载tar包,解压出来,安装即可,

如果没有权限,将xlrd/xlrd拷贝到当前目录下,也可以使用。

如下是xlrd的使用例子

 1 # -*- coding: utf-8 -*-
 2 import xdrlib ,sys
 3 import xlrd
 4 import sys
 5 def open_excel(file='file.xls'):
 6     try:
 7         handle = xlrd.open_workbook(file)
 8         return handle
 9     except Exception,e:
10         print str(e)
11 def parse_table(table):
12   """docstring for parse_table"""
13   print ("table_name %s\t%d\t%d"%(table.name, table.nrows, table.ncols))
14   #for i in range(table.nrows):
15   #  print table.row_values(i)
16   #for i in range(table.ncols):
17   #  print table.col_values(i)
18   for i in range(1, table.nrows):
19     for j in range(1, table.ncols):
20       print table.cell(i,j).value
21   pass
22 def pass_sheet():
23   """docstring for pass_sheet"""
24   pass
25 
26 if __name__ == '__main__':
27   handle = open_excel(sys.argv[1])
28   print handle.sheet_names()
29   for sheetx in range(handle.nsheets):
30     table = handle.sheet_by_index(sheetx)
31     parse_table(table)

 

如下是xlwd的使用例子

# -*- coding: utf-8 -*-
import xdrlib ,sys
import xlrd
import xlwt
if __name__ == '__main__':
  file = sys.argv[1]
  #cols
  field_name=u'百度 云彩 合理';
  handle = xlwt.Workbook() # 注意大写
  for i in range(2, len(sys.argv)):
    sheet_name= sys.argv[i]
    sheet = handle.add_sheet(sheet_name, cell_overwrite_ok=True) #新建表格,True表示对同一个单元操作不报错
    fd = open(sys.argv[i], "r")
    fields = field_name.split() # title名
    for j in range(len(fields)):
      sheet.write(0, j, fields[j])
    colum = 1;
    for line in fd.readlines():
      fields = line.split()
      for j in range(len(fields)):
        sheet.write(colum, j, fields[j])  # 写值
      colum = colum + 1
    fd.close()
  handle.save(file) #保存

 

 

posted @ 2014-06-18 17:31  westfly  阅读(315)  评论(0编辑  收藏  举报