财务季报评估报表数据提取+自动撰写2.0

该程序读取并分析资产负债表.xlsx中的数据,计算了不同行业的企业数、资产总计、负债合计、营业收入、营业成本等关键指标,并计算了增长率。结果显示,各行业亏损情况增加,部分行业如批发业、住宿业亏损比例较高。同时,资产、负债、费用等方面的变化也有所体现,反映出行业受到新冠疫情的影响。
from docx import Document
from docx.shared import Inches

document = Document()


from openpyxl import load_workbook

'''
@File    :
@Author  :  william
@Time    :  2020/09/29
@notice  :  null
@coding  : utf-8
'''
# import xlrd
# from xlutils.copy import copy
import openpyxl

# 下一步还得训练程序
# 使其满足对excel文件名和excel工作薄的识别
# 记得把表格再粘贴下,转成仅值




ws = 0
row_result = 0
column_result = 0
result = 0

#####################################################################锁定资产负债表和工作薄
# 如下代码用于多个相关表的打开操作
fn = '资产负债表.xlsx'
wb = openpyxl.load_workbook(fn)

ws = wb.get_sheet_by_name('资产负债表')


# print(ws)


def getdate(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


def getdate_lastyear(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column + 1
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


def getspeed(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column + 2
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


if __name__ == '__main__':
    print("企业数和企业亏损情况")
    print(round(getdate('总计', '企业数'), 1));

    print('资产情况')

    print(round(getdate('总计', '资产总计'), 1));
    print(round(getspeed('总计', '资产总计'), 1));

    print(round(getdate('一、批发业', '资产总计'), 1));
    print(round(getspeed('一、批发业', '资产总计'), 1));

    print(round(getdate('二、零售业', '资产总计'), 1));
    print(round(getspeed('二、零售业', '资产总计'), 1));

    print(round(getdate('三、住宿业', '资产总计'), 1));
    print(round(getspeed('三、住宿业', '资产总计'), 1));

    print(round(getdate('四、餐饮业', '资产总计'), 1));
    print(round(getspeed('四、餐饮业', '资产总计'), 1));

    print('负债情况')

    print(round(getdate('总计', '负债合计'), 1));
    print(round(getspeed('总计', '负债合计'), 1));

    print(round(getdate('一、批发业', '负债合计'), 1));
    print(round(getspeed('一、批发业', '负债合计'), 1));

    print(round(getdate('二、零售业', '负债合计'), 1));
    print(round(getspeed('二、零售业', '负债合计'), 1));

    print(round(getdate('三、住宿业', '负债合计'), 1));
    print(round(getspeed('三、住宿业', '负债合计'), 1));

    print(round(getdate('四、餐饮业', '负债合计'), 1));
    print(round(getspeed('四、餐饮业', '负债合计'), 1));

    print('营业收入')

    print(round(getdate('总计', '营业收入'), 1));
    print(round(getspeed('总计', '营业收入'), 1));

    print(round(getdate('一、批发业', '营业收入'), 1));
    print(round(getspeed('一、批发业', '营业收入'), 1));

    print(round(getdate('二、零售业', '营业收入'), 1));
    print(round(getspeed('二、零售业', '营业收入'), 1));

    print(round(getdate('三、住宿业', '营业收入'), 1));
    print(round(getspeed('三、住宿业', '营业收入'), 1));

    print(round(getdate('四、餐饮业', '营业收入'), 1));
    print(round(getspeed('四、餐饮业', '营业收入'), 1));

    print('营业成本')

    print(round(getdate('总计', '营业成本'), 1));
    print(round(getspeed('总计', '营业成本'), 1));

    print(round(getdate('一、批发业', '营业成本'), 1));
    print(round(getspeed('一、批发业', '营业成本'), 1));

    print(round(getdate('二、零售业', '营业成本'), 1));
    print(round(getspeed('二、零售业', '营业成本'), 1));

    print(round(getdate('三、住宿业', '营业成本'), 1));
    print(round(getspeed('三、住宿业', '营业成本'), 1));

    print(round(getdate('四、餐饮业', '营业成本'), 1));
    print(round(getspeed('四、餐饮业', '营业成本'), 1));

    print('营业税金')

    print(round(getdate('总计', '税金及附加'), 1));
    print(round(getspeed('总计', '税金及附加'), 1));

    print(round(getdate('一、批发业', '税金及附加'), 1));
    print(round(getspeed('一、批发业', '税金及附加'), 1));

    print(round(getdate('二、零售业', '税金及附加'), 1));
    print(round(getspeed('二、零售业', '税金及附加'), 1));

    print(round(getdate('三、住宿业', '税金及附加'), 1));
    print(round(getspeed('三、住宿业', '税金及附加'), 1));

    print(round(getdate('四、餐饮业', '税金及附加'), 1));
    print(round(getspeed('四、餐饮业', '税金及附加'), 1));

    print('四项费用')

    print(round(getdate('总计', '销售费用') + getdate('总计', '管理费用') + getdate('总计', '研发费用') + getdate('总计', '财务费用'), 1));

    print(
        round(((getdate('总计', '销售费用') + getdate('总计', '管理费用') + getdate('总计', '研发费用') + getdate('总计', '财务费用')) / (
                    getdate_lastyear('总计', '销售费用') + getdate_lastyear('总计', '管理费用') + getdate_lastyear('总计',
                                                                                                       '研发费用') + getdate_lastyear(
                '总计', '财务费用')) - 1) * 100, 1)
    )

    print(
        round(getdate('一、批发业', '销售费用') + getdate('一、批发业', '管理费用') + getdate('一、批发业', '研发费用') + getdate('一、批发业', '财务费用'),
              1));
    print(
        round(((getdate('一、批发业', '销售费用') + getdate('一、批发业', '管理费用') + getdate('一、批发业', '研发费用') + getdate('一、批发业',
                                                                                                         '财务费用')) / (
                           getdate_lastyear('一、批发业', '销售费用') + getdate_lastyear('一、批发业', '管理费用') + getdate_lastyear(
                       '一、批发业', '研发费用') + getdate_lastyear('一、批发业', '财务费用')) - 1) * 100, 1)
    )

    print(
        round(getdate('二、零售业', '销售费用') + getdate('二、零售业', '管理费用') + getdate('二、零售业', '研发费用') + getdate('二、零售业', '财务费用'),
              1));
    print(
        round(((getdate('二、零售业', '销售费用') + getdate('二、零售业', '管理费用') + getdate('二、零售业', '研发费用') + getdate('二、零售业',
                                                                                                         '财务费用')) / (
                           getdate_lastyear('二、零售业', '销售费用') + getdate_lastyear('二、零售业', '管理费用') + getdate_lastyear(
                       '二、零售业', '研发费用') + getdate_lastyear('二、零售业', '财务费用')) - 1) * 100, 1)
    )
    print(
        round(getdate('三、住宿业', '销售费用') + getdate('三、住宿业', '管理费用') + getdate('三、住宿业', '研发费用') + getdate('三、住宿业', '财务费用'),
              1));
    print(
        round(((getdate('三、住宿业', '销售费用') + getdate('三、住宿业', '管理费用') + getdate('三、住宿业', '研发费用') + getdate('三、住宿业',
                                                                                                         '财务费用')) / (
                           getdate_lastyear('三、住宿业', '销售费用') + getdate_lastyear('三、住宿业', '管理费用') + getdate_lastyear(
                       '三、住宿业', '研发费用') + getdate_lastyear('三、住宿业', '财务费用')) - 1) * 100, 1)
    )

    print(
        round(getdate('四、餐饮业', '销售费用') + getdate('四、餐饮业', '管理费用') + getdate('四、餐饮业', '研发费用') + getdate('四、餐饮业', '财务费用'),
              1));
    print(
        round(((getdate('四、餐饮业', '销售费用') + getdate('四、餐饮业', '管理费用') + getdate('四、餐饮业', '研发费用') + getdate('四、餐饮业',
                                                                                                         '财务费用')) / (
                           getdate_lastyear('四、餐饮业', '销售费用') + getdate_lastyear('四、餐饮业', '管理费用') + getdate_lastyear(
                       '四、餐饮业', '研发费用') + getdate_lastyear('四、餐饮业', '财务费用')) - 1) * 100, 1)
    )

    print('营业利润')

    print(round(getdate('总计', '营业利润'), 1));
    print(round(getspeed('总计', '营业利润'), 1));

    print(round(getdate('一、批发业', '营业利润'), 1));
    print(round(getspeed('一、批发业', '营业利润'), 1));

    print(round(getdate('二、零售业', '营业利润'), 1));
    print(round(getspeed('二、零售业', '营业利润'), 1));

    print(round(getdate('三、住宿业', '营业利润'), 1));
    print(round(getspeed('三、住宿业', '营业利润'), 1));

    print(round(getdate('四、餐饮业', '营业利润'), 1));
    print(round(getspeed('四、餐饮业', '营业利润'), 1));

    print('应交增值税')

    print(round(getdate('总计', '应交增值税'), 1));
    print(round(getspeed('总计', '应交增值税'), 1));

    print(round(getdate('一、批发业', '应交增值税'), 1));
    print(round(getspeed('一、批发业', '应交增值税'), 1));

    print(round(getdate('二、零售业', '应交增值税'), 1));
    print(round(getspeed('二、零售业', '应交增值税'), 1));

    print(round(getdate('三、住宿业', '应交增值税'), 1));
    print(round(getspeed('三、住宿业', '应交增值税'), 1));

    print(round(getdate('四、餐饮业', '应交增值税'), 1));
    print(round(getspeed('四、餐饮业', '应交增值税'), 1));

    print('资产负债率')
    if (getdate('总计', '负债合计') > 0 and getdate('总计', '资产总计') > 0):
        print(round(getdate('总计', '负债合计') / getdate('总计', '资产总计') * 100, 1));
    else:
        print("error")

    if (getdate('总计', '资产总计') > 0 and getdate_lastyear('总计', '资产总计') > 0 and getdate('总计',
                                                                                     '负债合计') > 0 and getdate_lastyear(
            '总计', '负债合计') > 0):
        print(round((getdate('总计', '负债合计') / getdate('总计', '资产总计') - getdate_lastyear('总计', '负债合计') / getdate_lastyear(
            '总计', '资产总计')) * 100, 1));
    else:
        print("error")

    if (getdate('一、批发业', '资产总计') > 0 and getdate('一、批发业', '负债合计') > 0):
        print(round(getdate('一、批发业', '负债合计') / getdate('一、批发业', '资产总计') * 100, 1));
    else:
        print("error")
    if (getdate('一、批发业', '资产总计') > 0 and getdate_lastyear('一、批发业', '资产总计') > 0 and getdate('一、批发业',
                                                                                           '负债合计') > 0 and getdate_lastyear(
            '一、批发业', '负债合计') > 0):
        print(round((getdate('一、批发业', '负债合计') / getdate('一、批发业', '资产总计') - getdate_lastyear('一、批发业',
                                                                                            '负债合计') / getdate_lastyear(
            '一、批发业', '资产总计')) * 100, 1));
    else:
        print("error")

    if (getdate('二、零售业', '资产总计') > 0 and getdate('二、零售业', '负债合计') > 0):
        print(round(getdate('二、零售业', '负债合计') / getdate('二、零售业', '资产总计') * 100, 1));
    else:
        print("error")

    if (getdate('二、零售业', '资产总计') > 0 and getdate_lastyear('二、零售业', '资产总计') > 0 and getdate('二、零售业',
                                                                                           '负债合计') > 0 and getdate_lastyear(
            '二、零售业', '负债合计') > 0):
        print(round((getdate('二、零售业', '负债合计') / getdate('二、零售业', '资产总计') - getdate_lastyear('二、零售业',
                                                                                            '负债合计') / getdate_lastyear(
            '二、零售业', '资产总计')) * 100, 1));
    else:
        print("error")

    if (getdate('三、住宿业', '资产总计') > 0 and getdate('三、住宿业', '负债合计') > 0):
        print(round(getdate('三、住宿业', '负债合计') / getdate('三、住宿业', '资产总计') * 100, 1));
    else:
        print("error")

    if (getdate('三、住宿业', '资产总计') > 0 and getdate_lastyear('三、住宿业', '资产总计') > 0 and getdate('三、住宿业',
                                                                                           '负债合计') > 0 and getdate_lastyear(
            '三、住宿业', '负债合计') > 0):
        print(round((getdate('三、住宿业', '负债合计') / getdate('三、住宿业', '资产总计') - getdate_lastyear('三、住宿业',
                                                                                            '负债合计') / getdate_lastyear(
            '三、住宿业', '资产总计')) * 100, 1));
    else:
        print("error")

    if (getdate('三、住宿业', '资产总计') > 0 and getdate('四、餐饮业', '负债合计') > 0):
        print(round(getdate('四、餐饮业', '负债合计') / getdate('三、住宿业', '资产总计') * 100, 1));
    else:
        print("error")

    if (getdate('四、餐饮业', '资产总计') > 0 and getdate_lastyear('四、餐饮业', '资产总计') > 0 and getdate('四、餐饮业',
                                                                                           '负债合计') > 0 and getdate_lastyear(
            '四、餐饮业', '负债合计') > 0):
        print(round((getdate('四、餐饮业', '负债合计') / getdate('四、餐饮业', '资产总计') - getdate_lastyear('四、餐饮业',
                                                                                            '负债合计') / getdate_lastyear(
            '四、餐饮业', '资产总计')) * 100, 1));
    else:
        print("error")
    print('毛利率')

    if (getdate('总计', '营业收入') > 0 and getdate('总计', '营业成本') > 0):
        print(round((1 - getdate('总计', '营业成本') / getdate('总计', '营业收入')) * 100, 1));
    else:
        print("error")

    if (getdate_lastyear('总计', '营业收入') > 0 and getdate('总计', '营业收入') > 0 and getdate_lastyear('总计',
                                                                                              '营业成本') > 0 and getdate(
            '总计', '营业成本') > 0):
        print(round((getdate_lastyear('总计', '营业成本') / getdate_lastyear('总计', '营业收入') - getdate('总计', '营业成本') / getdate(
            '总计', '营业收入')) * 100, 1));
    else:
        print("error")

    if (getdate('一、批发业', '营业收入') > 0 and getdate('一、批发业', '营业成本') > 0):
        print(round((1 - getdate('一、批发业', '营业成本') / getdate('一、批发业', '营业收入')) * 100, 1));
    else:
        print("error")

    if (getdate_lastyear('一、批发业', '营业收入') > 0 and getdate('一、批发业', '营业收入') > 0 and getdate_lastyear('一、批发业',
                                                                                                    '营业成本') > 0 and getdate(
            '一、批发业', '营业成本') > 0):
        print(round((getdate_lastyear('一、批发业', '营业成本') / getdate_lastyear('一、批发业', '营业收入') - getdate('一、批发业',
                                                                                                     '营业成本') / getdate(
            '一、批发业', '营业收入')) * 100, 1));
    else:
        print("error")

    if (getdate('二、零售业', '营业收入') > 0 and getdate('二、零售业', '营业成本') > 0):
        print(round((1 - getdate('二、零售业', '营业成本') / getdate('二、零售业', '营业收入')) * 100, 1));
    else:
        print("error")
    if (getdate_lastyear('二、零售业', '营业收入') > 0 and getdate('二、零售业', '营业收入') > 0 and getdate_lastyear('二、零售业',
                                                                                                    '营业成本') > 0 and getdate(
            '二、零售业', '营业成本') > 0):

        print(round((getdate_lastyear('二、零售业', '营业成本') / getdate_lastyear('二、零售业', '营业收入') - getdate('二、零售业',
                                                                                                     '营业成本') / getdate(
            '二、零售业', '营业收入')) * 100, 1));
    else:
        print("error")
    if (getdate('三、住宿业', '营业收入') > 0 and getdate('三、住宿业', '营业收入') > 0):
        print(round((1 - getdate('三、住宿业', '营业成本') / getdate('三、住宿业', '营业收入')) * 100, 1));
    else:
        print("error")
    if (getdate_lastyear('三、住宿业', '营业收入') > 0 and getdate('三、住宿业', '营业收入') > 0 and getdate_lastyear('三、住宿业',
                                                                                                    '营业成本') > 0 and getdate(
            '三、住宿业', '营业成本') > 0):
        print(round((getdate_lastyear('三、住宿业', '营业成本') / getdate_lastyear('三、住宿业', '营业收入') - getdate('三、住宿业',
                                                                                                     '营业成本') / getdate(
            '三、住宿业', '营业收入')) * 100, 1));
    else:
        print("error")
    if (getdate('四、餐饮业', '营业收入') > 0 and getdate('四、餐饮业', '营业成本') > 0):
        print(round((1 - getdate('四、餐饮业', '营业成本') / getdate('四、餐饮业', '营业收入')) * 100, 1));
    else:
        print("error")
    if (getdate_lastyear('四、餐饮业', '营业收入') > 0 and getdate('四、餐饮业', '营业收入') > 0 and getdate_lastyear('四、餐饮业',
                                                                                                    '营业成本') > 0 and getdate(
            '四、餐饮业', '营业成本') > 0):
        print(round((getdate_lastyear('四、餐饮业', '营业成本') / getdate_lastyear('四、餐饮业', '营业收入') - getdate('四、餐饮业',
                                                                                                     '营业成本') / getdate(
            '四、餐饮业', '营业收入')) * 100, 1));
    else:
        print("error")

    print('营业收入户均值')

    if (getdate('一、批发业', '企业数') > 0):
        print(round(getdate('一、批发业', '营业收入') / getdate('一、批发业', '企业数') * 10000, 1));
    else:
        print("error")
    if (getdate('二、零售业', '企业数') > 0):
        print(round(getdate('二、零售业', '营业收入') / getdate('二、零售业', '企业数') * 10000, 1));
    else:
        print("error")
    if (getdate('三、住宿业', '企业数') > 0):
        print(round(getdate('三、住宿业', '营业收入') / getdate('三、住宿业', '企业数') * 10000, 1));
    else:
        print("error")
    if (getdate('四、餐饮业', '企业数') > 0):
        print(round(getdate('四、餐饮业', '营业收入') / getdate('四、餐饮业', '企业数') * 10000, 1));
    else:
        print("error")

    print('营业收入人均值')

    if (getdate('一、批发业', '从业人员平均人数(人)') > 0):
        print(round(getdate('一、批发业', '营业收入') / getdate('一、批发业', '从业人员平均人数(人)') * 10000, 1));
    else:
        print("error")

    if (getdate('二、零售业', '从业人员平均人数(人)') > 0):
        print(round(getdate('二、零售业', '营业收入') / getdate('二、零售业', '从业人员平均人数(人)') * 10000, 1));
    else:
        print("error")

    if (getdate('三、住宿业', '从业人员平均人数(人)') > 0):
        print(round(getdate('三、住宿业', '营业收入') / getdate('三、住宿业', '从业人员平均人数(人)') * 10000, 1));
    else:
        print("error")

    if (getdate('四、餐饮业', '从业人员平均人数(人)') > 0):
        print(round(getdate('四、餐饮业', '营业收入') / getdate('四、餐饮业', '从业人员平均人数(人)') * 10000, 1));
    else:
        print("error")

    print('销售费用')

    print(round(getdate('总计', '销售费用'), 1));

    print(
        round(((getdate('总计', '销售费用')) / (getdate_lastyear('总计', '销售费用')) - 1) * 100, 1)
    )

    print(round(getdate('一、批发业', '销售费用'), 1));
    print(
        round(((getdate('一、批发业', '销售费用')) / (getdate_lastyear('一、批发业', '销售费用')) - 1) * 100, 1)
    )

    print(round(getdate('二、零售业', '销售费用'), 1));
    print(
        round(((getdate('二、零售业', '销售费用')) / (getdate_lastyear('二、零售业', '销售费用')) - 1) * 100, 1)
    )
    print(round(getdate('三、住宿业', '销售费用'), 1));
    print(
        round(((getdate('三、住宿业', '销售费用')) / (getdate_lastyear('三、住宿业', '销售费用')) - 1) * 100, 1)
    )

    print(round(getdate('四、餐饮业', '销售费用'), 1));
    print(
        round(((getdate('四、餐饮业', '销售费用')) / (getdate_lastyear('四、餐饮业', '销售费用')) - 1) * 100, 1)
    )

    print('管理费用')

    print(round(getdate('总计', '管理费用'), 1));

    print(
        round(((getdate('总计', '管理费用')) / (getdate_lastyear('总计', '管理费用')) - 1) * 100, 1)
    )

    print(round(getdate('一、批发业', '管理费用'), 1));
    print(
        round(((getdate('一、批发业', '管理费用')) / (getdate_lastyear('一、批发业', '管理费用')) - 1) * 100, 1)
    )

    print(round(getdate('二、零售业', '管理费用'), 1));
    print(
        round(((getdate('二、零售业', '管理费用')) / (getdate_lastyear('二、零售业', '管理费用')) - 1) * 100, 1)
    )
    print(round(getdate('三、住宿业', '管理费用'), 1));
    print(
        round(((getdate('三、住宿业', '管理费用')) / (getdate_lastyear('三、住宿业', '管理费用')) - 1) * 100, 1)
    )

    print(round(getdate('四、餐饮业', '管理费用'), 1));
    print(
        round(((getdate('四、餐饮业', '管理费用')) / (getdate_lastyear('四、餐饮业', '管理费用')) - 1) * 100, 1)
    )

    print('研发费用')

    print(round(getdate('总计', '研发费用'), 1));

    print(
        round(((getdate('总计', '研发费用')) / (getdate_lastyear('总计', '研发费用')) - 1) * 100, 1)
    )

    print(round(getdate('一、批发业', '研发费用'), 1));
    print(
        round(((getdate('一、批发业', '研发费用')) / (getdate_lastyear('一、批发业', '研发费用')) - 1) * 100, 1)
    )

    print(round(getdate('二、零售业', '研发费用'), 1));

    if (getdate_lastyear('二、零售业', '研发费用') > 0):
        print(round(((getdate('二、零售业', '研发费用')) / (getdate_lastyear('二、零售业', '研发费用')) - 1) * 100, 1));
    else:
        print("error")


    print(round(getdate('三、住宿业', '研发费用'), 1));

    if (getdate_lastyear('三、住宿业', '研发费用') != 0):

        print(round(((getdate('三、住宿业', '研发费用')) / (getdate_lastyear('三、住宿业', '研发费用')) - 1) * 100, 1))
    else:
        print("error")
    print(round(getdate('四、餐饮业', '研发费用'), 1));

    if (getdate_lastyear('四、餐饮业', '研发费用') != 0):
        print(
            round(((getdate('四、餐饮业', '研发费用')) / (getdate_lastyear('四、餐饮业', '研发费用')) - 1) * 100, 1)
        )
    else:
        print("error")

        print('财务费用')

    print(round(getdate('总计', '财务费用'), 1));

    print(
        round(((getdate('总计', '财务费用')) / (getdate_lastyear('总计', '财务费用')) - 1) * 100, 1)
    )

    print(round(getdate('一、批发业', '财务费用'), 1));
    print(
        round(((getdate('一、批发业', '财务费用')) / (getdate_lastyear('一、批发业', '财务费用')) - 1) * 100, 1)
    )

    print(round(getdate('二、零售业', '财务费用'), 1));
    print(
        round(((getdate('二、零售业', '财务费用')) / (getdate_lastyear('二、零售业', '财务费用')) - 1) * 100, 1)
    )
    print(round(getdate('三、住宿业', '财务费用'), 1));
    print(
        round(((getdate('三、住宿业', '财务费用')) / (getdate_lastyear('三、住宿业', '财务费用')) - 1) * 100, 1)
    )

    print(round(getdate('四、餐饮业', '财务费用'), 1));
    print(
        round(((getdate('四、餐饮业', '财务费用')) / (getdate_lastyear('四、餐饮业', '财务费用')) - 1) * 100, 1)
    )





document.add_heading("财务季报评估报告")
paragraph100 = document.add_paragraph('一、四行业总体情况')



'''
paragraph101 = document.add_paragraph('1-3季度,济南市财务季报上报单位3083个,其中亏损单位1330个,占全市限上企业的43.1%,主要受新冠肺炎疫情影响,亏损企业较去年增多,占比提高。其中批发业亏损企业618个,占批发业企业的33.9%;零售业亏损企业409个,占零售业企业的49.3%;住宿业亏损企业113个,占住宿业企业的72.4%;餐饮业亏损企业190个,占餐饮企业的69.3%。')
'''



paragraph101.add_run("。其中批发业企业")
paragraph101.add_run("个,占比")
paragraph101.add_run("%;零售业企业")
paragraph101.add_run("个,占比")
paragraph101.add_run("%;住宿业企业")
paragraph101.add_run("个,占比")
paragraph101.add_run("%;餐饮业企业")
paragraph101.add_run("个,占比")
paragraph101.add_run("%。")







paragraph200 = document.add_paragraph('二、财务数据分析')


'''
paragraph201 = document.add_paragraph('1、资产情况。1-2季度,全市限额以上企业资产总计3683.4亿元,同比下降0.6%。其中,批发业企业资产总计2768.8亿元,同比下降2.2%;零售业企业资产总计797.5亿元,同比增长7.2%;住宿业企业资产总计65.1亿元,同比下降16.0%;餐饮业企业资产总计51.9亿元,同比下降0.3%。')‘’

'''




paragraph201 = document.add_paragraph('1、资产情况。1-2季度,全市限额以上企业资产总计')
round(getdate('总计', '资产总计'), 1)
paragraph201 = document.add_paragraph('亿元,同比下降')
round(getspeed('总计', '资产总计'), 1)
paragraph201 = document.add_paragraph('%。其中,批发业企业资产总计')
round(getdate('一、批发业', '资产总计'), 1)
paragraph201 = document.add_paragraph('亿元,同比下降')

paragraph201 = document.add_paragraph('%;零售业企业资产总计')
paragraph201 = document.add_paragraph('亿元,同比增长')
paragraph201 = document.add_paragraph('%;住宿业企业资产总计')
paragraph201 = document.add_paragraph('亿元,同比下降')
paragraph201 = document.add_paragraph('%;餐饮业企业资产总计')
paragraph201 = document.add_paragraph('亿元,同比下降')
paragraph201 = document.add_paragraph('%。')


paragraph202 = document.add_paragraph('2、负债情况。1-2季度,全市限额以上企业负债合计3298.7亿元,同比增长16.9%。其中,批发业企业负债合计2572.2亿元,同比增长7.4%;零售业企业负债合计625.4亿元,同比增长5.5%;住宿业企业负债合计47.5亿元,同比下降19.7%;餐饮业企业负债合计53.7亿元,同比增长5.0%。')
paragraph203 = document.add_paragraph('3、营业收入。1-2季度,全市限额以上企业实现营业收入2772.7亿元,同比下降1.9%。其中,批发业企业实现营业收入2278.2亿元,同比增长0.3%;零售业企业营业收入472.6亿元,同比下降9.2%;住宿业企业营业收入8.9亿元,同比下降42.0%;餐饮业企业营业收入12.9亿元,同比下降34.4%。')
paragraph204 = document.add_paragraph('4、营业成本。1-2季度,全市限额以上企业营业成本合计2576.7亿元,同比下降0.8%。其中,批发业企业营业成本2154.9亿元,同比增长0.8%;零售业企业营业成本411.6亿元,同比下降7.6%;住宿业企业营业成本3.6亿元,同比下降22.8%;餐饮业企业营业成本合计6.6亿元,同比下降26.6%。')
paragraph205 = document.add_paragraph('5、营业税金。1-2季度,全市限额以上企业税金及附加合计9.8亿元,同比下降19.4%。其中,批发业企业税金及附加合计8.1亿元,同比下降1.1%,零售业企业税金及附加合计1.6亿元,同比下降56.8%;住宿业企业税金及附加合计0.05亿元,同比下降64.3%;餐饮业企业税金及附加合计0.04亿元,同比下降69.2%。')
paragraph206 = document.add_paragraph('6、四项费用。1-2季度,全市限额以上企业销售费用、管理费用、研发费用及财务费用合计173.3亿元,同比下降5.8%。其中批发业企业四项费用合计95.4亿元,同比下降3.4%;零售业企业四项费用合计60.6亿元,同比下降3.0%;住宿业企业四项费用合计8.7亿元,同比下降25.0%;餐饮业企业四项费用合计8.6亿元,同比下降22.8%。')
paragraph207 = document.add_paragraph('7、营业利润。1-2季度,全市限额以上企业营业利润合计22.3亿元,同比下降30.5%。批发业企业营业利润合计27.4亿元,同比增长8.0%;零售业企业营业利润合计0.05亿元,同比下降99.4%;住宿业企业营业利润合计-3.0亿元,而去年同期为-0.8亿元;餐饮业企业营业利润合计-2.2亿,而去年同期为-0.5亿元。')
paragraph208 = document.add_paragraph('8、应交增值税。1-2季度,全市限额以上企业应交增值税合计11.0亿元,而去年同期为-23.9亿元。其中批发业企业应交增值税合计6.5亿元,而去年同期为-30.7亿元;零售业企业应交增值税合计4.4亿元,同比下降28.3%;住宿业企业应交增值税合计-0.04亿元,而去年同期为0.3亿元;餐饮业企业应交增值税0.06亿元,同比下降80%。')
paragraph209 = document.add_paragraph('9、资产负债率。1-2季度,全市限额以上企业资产负债率89.6%,比去年同期提高13.4个百分点。其中批发业企业资产负债率92.9%,比去年同期提高17.7个百分点;零售业企业资产负债率78.4%,比去年同期提高0.2个百分点;住宿业企业资产负债率72.9%,比去年同期下降3.4个百分点;餐饮业企业资产负债率103.4%,比去年同期提高5.3个百分点。')
paragraph210 = document.add_paragraph('10、毛利率。1-2季度,全市限额以上企业毛利率7.1%,比去年同期减少1.1个百分点。其中批发业企业毛利率5.4%,比去年同期减少0.4个百分点;零售业企业毛利率12.9%,比上年同期减少1.5个百分点;住宿业企业毛利率59.7%,比上年同期减少10个百分点;餐饮业企业毛利率49.1%,比上年同期减少5.4个百分点。')
paragraph211 = document.add_paragraph('11、营业收入户均值。1-2季度,全市限额以上企业中批发业营业收入户均值1.3亿元;零售业企业营业收入户均值0.6亿元;住宿业企业营业收入户均值570万元;餐饮业企业营业收入户均值470万元。')
paragraph212 = document.add_paragraph('12、营业收入人均值。1-2季度,全市限额以上企业中批发业企业营业收入人均值348.1万元;零售业企业营业收入人均值72.9万元;住宿业企业营业收入人均值6.3万元;餐饮业营业收入人均值7.0万元。')












document.save('财务季报评估报告.docx')
内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值