xlsxwriter.Workbook 导出多个sheet python读取PHP的数组

@appbuilder.app.route('/zhengli1', methods=['GET'])
def zhengli1():
    upload_path = "E:\\www\\test\\huamai\\huamaiweb\\dispachserver\\web_yu"

    UPLOAD_FOLDER = current_app.config.get('UPLOAD_FOLDER')
    isfilename = "app_languages.php"
    addtime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    filename = "app_languages-{}.xlsx".format(addtime)
    output = os.path.join(UPLOAD_FOLDER, filename)
    print(output)
    list_dirs = listdirs(path = upload_path, type = isfilename)
    print(list_dirs)
    # 写excel
    workbook = xlsxwriter.Workbook(output)  # 先创建一个book,直接写到io中

    for d in list_dirs:
        r = du_php( d )
        # export_file( r, "-".join(d.split("\\")[-3:][0:2]), filePath )
        sheet_name = "-".join(d.split("\\")[-3:][0:2])
        header = [0] + [v2 for v2 in [v for k, v in r.items()][0].keys()]
        # 整理未翻译的
        # if "spanish" in header:
        #     continue
        sheet = workbook.add_worksheet(sheet_name)
        keys_list = [k for k, v in r.items()]
        values_list = [v for k, v in r.items()]
        # 写入数据到A1一列
        sheet.write_row( 'A1', header )

        # 遍历有多少行数据
        for i in range(len(r)):
            # 遍历有多少列数据
            for x in range(len(header)):
                if header[x] == 0:
                    sheet.write(i + 1, x, keys_list[i])
                else:
                    if header[x] in values_list[i].keys():
                        sheet.write(i + 1, x, values_list[i][header[x]])
                    else:
                        sheet.write(i + 1, x, keys_list[i])
        sleep(3)

    workbook.close()  # 需要关闭
    encoding = "utf-8"
    result = {
        "code": 1,
        "message": 'success zhengli'
    }
    return jsonify(result)
def listdirs(path=None,type=None):
    if path is None:
        path = 'edomlist'
    if type is None:
        path = 'edom'
    files = os.listdir(path)
    file = []
    for f in files:
        f1 = os.path.join(path, f)
        if os.path.isdir(f1):
            files1 = listdirs(path = f1, type = type)
            file = file + files1
        else:
            if type == f:
                file.append(os.path.join(path, f))
    # print(file)
    return file

def du_php(file):
    if file is None:
        return None
    result = subprocess.check_output(['php', '-r', "include '"+file+"'; echo json_encode($text);"])
    print(result)
    return json.loads(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值