工作中经常需要处理Excel,所以自己稍微写了一个函数,方便以后自己使用.大家也可以借鉴下.
- excel_file_name : 这里写Excel的路径,和python同一个目录下的话直接写文件名字即可
- sheet_name : 写要处理的sheet的名字,默认Sheet1
- start_row : 开始的行
- end_row : 结束的行(默认所有行)
- start_col : 开始的列
- end_col : 结束的列(默认所有列)
返回一个列表,里面是根据首行Name形成的字典.应该能处理大多数excel.
# -*- coding: utf-8 -*-
import xlrd
def read_excel(excel_file_name='hello.xlsx', sheet_name='Sheet1', start_row=0, end_row=0, start_col=0, end_col=0 ):
try:
data = xlrd.open_workbook(excel_file_name)
except Exception as e:
print(str(e))
table = data.sheet_by_name(sheet_name)
if end_row == 0:
end_row = table.nrows
column_names = table.row_values(start_row)
if end_col == 0:
end_col = len(column_names)
excel_list = []
for rownum in range(start_row+1, end_row):
row = table.row_values(rownum)
if row:
app = {}
for i in range(start_col, end_col):
app[column_names[i]] = row[i]
excel_list.append(app)
return excel_list