方法一:通過索引控制第幾行,第幾列帶讀取Excel
#coding=utf-8 __author__ = "***" __date__ = "2018/5/30 16:50" # 讀寫excel工作表 import xdrlib ,sys import xlrd filename='E:/PycharmProjects/PycharmProjects/test_1/Directory/***.xlsx' def open_excel(file=filename): try: data = xlrd.open_workbook(file) return data except Exception as e: print("文件打開失敗,str(e)是",str(e)) #根據索引獲取Excel表格中的數據 參數:file:Excel文件路徑 colnameindex:表頭列名所在行的所以 ,by_index:表的索引 def excel_table_byindex(file=filename,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
方法二:讀取sheet表名,畢竟一個Excel文件里可能會含有多個sheet。具體使用還看情況而定
#coding=utf-8 __author__ = "***" __date__ = "2018/5/30 16:50" # 讀寫excel工作表 import xdrlib ,sys import xlrd filename='E:/PycharmProjects/PycharmProjects/test_1/Directory/***.xlsx' def open_excel(file=filename): try: data = xlrd.open_workbook(file) return data except Exception as e: print("文件打開失敗,str(e)是",str(e)) #根據名稱獲取Excel表格中的數據 參數:file:Excel文件路徑 colnameindex:表頭列名所在行的所以 ,by_name:Sheet1名稱 def excel_table_byname(file= filename,colnameindex=0,by_name=u'***'): 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 list def main(): tables = excel_table_byindex() for row in tables: print(row) # tables = excel_table_byname() #可以試試這一種 # for row in tables: # print(row) if __name__=="__main__": main()
