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

212 阅读1分钟

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)

`