需求:读取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)) 
京公网安备 11010502036488号