def read_excel_sheet(file=None, file_content=None, sheet_num=0, sheet_name=None, title_row=0, titles_list=None):
'''
??Excel?????Sheet???
:param file: Excel????
:param file_content: Excel????, ????????file or file_content???
:param sheet_num: ?????
:param sheet_name: ?????(???)
:param title_row: ??????????(?0??), ??????????
:param titles_list: ??????, ????????title_row??, ?????????
:return: list(dict) ??????????dict, ?title_row?titles_list???key
'''
if titles_list is None:
titles_list = []
try:
wb = xlrd.open_workbook(filename=file, file_contents=file_content)
except Exception as e:
raise e
sheet = wb.sheets()[sheet_num]
nrows = sheet.nrows # ??
ncols = sheet.ncols # ??
_console.debug('rows: %s, cols: %s' %(nrows, ncols))
if titles_list and len(titles_list) > 1:
titles = titles_list
else:
titles = sheet.row_values(title_row) # ?????
_console.debug(titles)
# ?????????
list = []
for row_num in range(title_row + 1, nrows):
_console.debug('row: %s' %(row_num,))
row = sheet.row_values(row_num)
if row:
obj = {}
for i, title in enumerate(titles):
obj[title] = row[i]
list.append(obj)
return list
评论列表
文章目录