python 读取excel --zhaokuo719
来源:互联网 发布:网络印刷市场定位 编辑:程序博客网 时间:2024/04/30 22:18
#!/usr/bin/python#-*-coding:gbk-*-import xdrlib ,sysimport xlrddef open_excel(file= 'file.xlsx'): try: data = xlrd.open_workbook(file) return data except Exception,e: print str(e) def excel_table_byindex(file= 'file.xlsx',colnameindex=0,by_index=0): data = 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(file= 'file.xlsx',colnameindex=0,by_name=u'Sheet1'): data = 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 listdef main(): tables = excel_table_byindex() for row in tables: print row tables = excel_table_byname() for row in tables: print rowif __name__=="__main__": main()