豫ICP备2024044691号-1
powered by emlog
python excel 转 json
Mins 2019-3-18 15:18 python

最近有个需求,需要实现把excel文件导入到数据库,代码贴出来做个记录。

# -*- coding: utf-8 -*-
#WEB服务依赖
from flask_cors import CORS
from flask import Flask
from flask import request
#Excel文件处理依赖
import xlrd
import xlwt
#JSON依赖
import json
#时间处理
from datetime import date,datetime

#创建一个服务代理
app = Flask(__name__)

#首页
@app.route('/', methods=['GET', 'POST'])
def home():
    return 'home'

#接口路由
@app.route('/excelToJson', methods=['GET', 'POST'])
def excelToJson():
    #读取excel文件,这里之前有了php的上传接口,所以没做上传,以后再研究
    excel = xlrd.open_workbook(r'../../uploads/data.xlsx')
    #获取数据表的内容,sheet_by_index()传入sheet的索引,也可以用名称:sheet_by_name()
    table = excel.sheet_by_index(0)
    #定义一个空字典,用来存放数据
    content = {}
    #循环用的索引,用来绑定json的key值
    index = 0
    #把数据按行存到content字典中, table.nrows用来获取当前表的总行数,同理列数用table.ncols获取
    while index < table.nrows:
        indexStr = 'dict' + '%d' %index
        content[indexStr] = table.row_values(index)
        index = index + 1
    # 返回json字符串,这里有个坑,flask的返回值只能是字符串,所以一定要处理结果!!!
    return json.dumps(content)

#执行程序
if __name__ == '__main__':
    #允许跨域请求
    CORS(app, supports_credentials=True)
    app.run()