zoukankan      html  css  js  c++  java
  • 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	%d	%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) #保存
  • 相关阅读:
    Lucene
    coreseek
    Sphinx学习之sphinx的安装篇
    在Hive中使用Avro
    Hive中实现group concat功能(不用udf)
    Fresnel Reflection
    安装Windows更新程序遇到错误:0x80070422
    float4与half4数据类型
    Dijkstra算法(三)之 Java详解
    地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了
  • 原文地址:https://www.cnblogs.com/westfly/p/3795042.html
Copyright © 2011-2022 走看看