说明
工作中经常需要从excel表格读取数据,从而进行一些数据处理,于是索性简单写了一个方法, 使用pyton的xlrd库读取excel表格数据,输出一个json,方便以后可以重复使用,有需要的请copy拿走。此方法只负责读取excel数据, 至于数据的类型转化,暂时不考虑。
代码展示
import xlrd
def read_xls_to_json(filename, sheet_index=0):
"""
filename 文件的路径,可以是绝对路径,比如D:\students.xls, 也可以是相对python脚本的相对路径,比如students.xls
sheet_index: 工作表的索引,默认读取第一个工作表
"""
# 打开Excel文件
data = xlrd.open_workbook(filename)
# 读取第一个工作表
table = data.sheets()[sheet_index]
# 行数
nrows = table.nrows
# 列数
ncols = table.ncols
# 读取表头,也就是地行数据
col_name_list = table.row_values(0)
# 存放所有数据
data_list = []
# 第二行开始读数据
for row in range(1, nrows):
# 该行数据
values = table.row_values(row)
data = {}
# 遍历列的值,放入字典
for col in range(ncols):
# 列名
col_name = col_name_list[col]
data[col_name] = values[col]
data_list.append(data)
return data_list
if __name__ == "__main__":
data_list = read_xls_to_json("D:\students.xls")
print(data_list)
测试
excel表格数据如图所示, excel文件students.xls放在D盘根目录,你也可以自行决定位置,不过记得修改代码中文件路径filename。
运行程序,打印结果如下
[{'name': '小明', 'age': 18.0, 'sex': '男'}, {'name': '小红', 'age': 20.0, 'sex': '女'}]