#!/usr/bin/env python
# -*- coding:utf-8 -*-

import xlrd

class Excel(object):

    def __init__(self):

        pass

    def open_excel(self, file= 'file.xls'):
        try:
            data = xlrd.open_workbook(file)
            return data
        except Exception as e:
            print (str(e))

    #根据索引获取Excel表格中的数据   参数:file：Excel文件路径     colnameindex：表头列名所在行的所以  ，by_index：表的索引
    def excel_table_byindex(self, file= 'file.xls',colnameindex=0,by_index=0):
        data = self.open_excel(file)
        table = data.sheets()[by_index]
        nrows = table.nrows #行数
        ncols = table.ncols #列数
        colnames =  table.row_values(colnameindex) #某一行数据
        list =[]
        for rownum in range(1,nrows):

             row = table.row_values(rownum)
             if row:
                 app = {}
                 for i in range(len(colnames)):
                    app[colnames[i]] = row[i]
                 list.append(app)
        return list

    #根据名称获取Excel表格中的数据   参数:file：Excel文件路径     colnameindex：表头列名所在行的所以  ，by_name：Sheet1名称
    def excel_table_byname(self, file= 'file.xls',colnameindex=0,by_name=u'Sheet1'):
        data = self.open_excel(file)
        table = data.sheet_by_name(by_name)
        nrows = table.nrows #行数
        colnames =  table.row_values(colnameindex) #某一行数据
        list =[]
        for rownum in range(1,nrows):
             row = table.row_values(rownum)
             if row:
                 app = {}
                 for i in range(len(colnames)):
                    app[colnames[i]] = row[i]
                 list.append(app)
        return list


excel_util =  Excel()
tables = excel_util.excel_table_byindex('/Users/yangwm/log/exceldata/histgram.xls')
for row in tables:
    print (row)

# tables = excel_util.excel_table_byname('/Users/yangwm/log/exceldata/On_Time_On_Time_Performance_1987_10/On_Time_On_Time_Performance_1987_10.csv')
# for row in tables:
#     print row

