需求:读取excel文件保存为json格式存储
1.excel基本操作
excelbase.py
# coding=utf-8 ''' @TIME:2019-7-28 @CONTENT: 读取excel基本操作 ''' import xlrd # excel 文件路径 path = 'F:/xldata/对接CRM周报.xlsx' # 打开excel workbook = xlrd.open_workbook(path) # 指定操作的sheet页 Data_sheet = workbook.sheets()[0] # 获取当前sheet页名字 print(Data_sheet.name) # 获取当前sheet页总行数 rowNum = Data_sheet.nrows # 获取当前sheet页总列数 colNum = Data_sheet.ncols # 获取一行内容 rows = Data_sheet.row_values(0) # 获取一列内容 cols = Data_sheet.col_values(0) # 获取单元格内容 cell_value = Data_sheet.cell_value(0, 0) # 获取所有内容 # 思路1:一行行存 list1 = [] for i in range(rowNum): list1.append(Data_sheet.row_values(i)) # 思路2:单元存行 在一行行存 # list2 = [] # for i range(rowNum): # rowlist = [] # for j range(colNum): # rowlist.append(Data_sheet.cell_value(j)) # list2.append(rowlist) # 日期格式处理 # xlrd读取出的日期显示的是小数,如下是解决办法 data_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(1, 3), workbook.datemode) # 返回年月日时分秒(2018, 8, 21, 0, 0, 0) print("%d-%d-%d" % (data_value[0:3]))
2.训练:python读取 excel 保存为json格式
excel_json.py
# coding=utf-8 ''' @TIME:2019-7-28 @CONTENT: 读取一个excel数据,以json格式存储 ''' import xlrd import json path = 'F:/xldata/对接CRM周报.xlsx' workbook = xlrd.open_workbook(path) Data_sheet = workbook.sheets()[0] rowNum = Data_sheet.nrows #读取excel数据,每项以字典格式存储 list = [] for i in range(1, rowNum): values = Data_sheet.row_values(i) list.append({ '姓名': values[0], '身份证号': values[1], '手机号': values[2], '审批通过时间': "{0}-{1}-{2}".format(*(xlrd.xldate_as_tuple(values[3], workbook.datemode))), # format传入元组 '客户数据编号': values[4] }) #存储到json文件 with open('article.json', 'w', encoding='utf-8') as f: # ensure_ascii=False显示中文,indent=2缩进为2 f.write(json.dumps(list, ensure_ascii=False, indent=2))