def fill_report(self):
     # 表格:原始数据d
     for i, d_i in enumerate(self.data['list_d1']):
         self.report_data[str(i + 1)] = "%.5f" % (d_i)  # 一定都是字符串类型
     # 表格:逐差法计算10Δd
     for i, d_i in enumerate(self.data['list_d2']):
         self.report_data[str(i + 10)] = "%.5f" % (d_i)
     for i, dif_d_i in enumerate(self.data['list_dtx']):
         self.report_data["10d-%d" % (i + 1)] = "%.5f" % (dif_d_i)
     # 最终结果
     # 将各个变量以及不确定度的结果导入实验报告,在实际编写中需根据实验报告的具体要求设定保留几位小数
     self.report_data['f_1'] = "%.4f" % self.data['list_f'][0]
     self.report_data['f_2'] = "%.4f" % self.data['list_f'][1]
     self.report_data['ave_f'] = "%.4f" % self.data['num_ave_f']
     self.report_data['d_f'] = "%.4f" % self.data['num_delta_f']
     self.report_data['fin_lbd'] = self.data['num_fin_lbd']
     self.report_data['u_f'] = "%.5f" % self.data['num_u_f']
     self.report_data['c'] = "%.5f" % self.data['num_c']
     self.report_data['u_c_c'] = "%.4f" % self.data['num_u_c_c']
     self.report_data['u_c'] = "%.4f" % self.data['num_u_c']
     self.report_data['fin_c'] = self.data['num_fin_c']
     self.report_data['fin_f'] = self.data['num_fin_f']
     self.report_data['d'] = "%.5f" % self.data['num_d']
     self.report_data['lbd'] = "%.5f" % self.data['num_lbd']
     self.report_data['ua_d'] = "%.4f" % self.data['num_ua_d']
     self.report_data['ub1_d'] = "%.4f" % self.data['num_ub1_d']
     self.report_data['ub2_d'] = "%.4f" % self.data['num_ub2_d']
     self.report_data['u_d'] = "%.4f" % self.data['num_u_d']
     self.report_data['u_lbd'] = "%.4f" % self.data['num_u_lbd']
     # 调用ReportWriter类
     RW = ReportWriter()
     RW.load_replace_kw(self.report_data)
     RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                    self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        # 表格:原始数据d
        for i, volt in enumerate(self.volt_list):
            self.report_data['V%d' % (i + 1)] = "%d" % (volt)  # 静态法电压
        for i in range(6):
            for j in range(5):
                self.report_data['%d-%d' % (i + 1, j + 1)] = "%.2f" % (
                    self.time_list[i][j])  #时间
        m = self.data['m']
        for i in range(len(m)):

            self.report_data['q%d' %
                             (i + 1)] = "%.2f*10e(-19)" % (m[i][1] *
                                                           (10**19))  #油滴电荷量
            self.report_data['e%d' %
                             (i + 1)] = "%.2f*10e(-19)" % (m[i][2] *
                                                           (10**19))  #实验e数值
            self.report_data['n%d' % (i + 1)] = "%d" % (m[i][3])  #油滴单位电荷数目
            self.report_data['rel_err%d' %
                             (i + 1)] = "%.3f" % (abs(m[i][4]))  #相对误差

        for i, Ave in enumerate(self.time_Ave):
            self.report_data['Ave%d' % (i + 1)] = "%.2f" % (Ave)  #时间均值
        self.report_data['final'] = "%.2f*10e(-19)" % (
            (self.data['final']) * (10**19))  #最后结果不带不确定度
        self.report_data['rel_err'] = "%.3f" % (self.data['rel_err'])

        # 调用ReportWriter类
        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                       self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        
        #1061_1
        for i, list_u_1_i in enumerate(self.data['list_u_1']):
            self.report_data[u_1_(i + 1)] = "%.1f" % (list_u_1_i)
        for i, list_u_2_i in enumerate(self.data['list_u_2']):
            self.report_data[u_2_(i + 1)] = "%.1f" % (list_u_2_i)
        for i, list_v_1_i in enumerate(self.data['list_v_1']):
            self.report_data[v_1_(i + 1)] = "%.1f" % (list_v_1_i)
        for i, list_v_2_i in enumerate(self.data['list_v_2']):
            self.report_data[v_2_(i + 1)] = "%.1f" % (list_v_2_i)      
        self.report_data['f_1'] = "%.1f" % f_1
        self.report_data['f_2'] = "%.1f" % f_2
        for i, list_f1_i in enumerate(self.data['list_f1']):
            self.report_data[f1_(i + 1)] = "%.1f" % (list_f1_i)
        for i, list_f2_i in enumerate(self.data['list_f2']):
            self.report_data[f2_(i + 1)] = "%.1f" % (list_f2_i)

        #1061_2
        for i, list_x_1_i in enumerate(self.data['x_1']):
            self.report_data[x_1_(i + 1)] = "%.1f" % (list_x_1_i)
        for i, list_x_2_i in enumerate(self.data['x_2']):
            self.report_data[x_2_(i + 1)] = "%.1f" % (list_x_2_i)
        for i, list_f_i in enumerate(self.data['list_f']):
            self.report_data[list_f_(i + 1)] = "%.1f" % (list_f_i)
        self.report_data['num_u_f'] = "%.3f" % self.data['num_u_f']
        self.report_data["final_f"] =  "%.1f±%.1f" % (num_f, num_u_f)    

        #1061_3
        for i, list_a_i in enumerate(self.data['list_a']):
            self.report_data[a_(i + 1)] = "%.1f" % (list_a_i)
        for i, list_b_i in enumerate(self.data['list_b']):
            self.report_data[b_(i + 1)] = "%.1f" % (list_b_i)
        for i, list_3_f_i in enumerate(self.data['list_3_f']):
            self.report_data[3_f_(i + 1)] = "%.1f" % (list_3_f_i)
        self.report_data['final_3_f'] = "%.1f" % self.data['final_3_f']
        self.report_data['u_3_f'] = "%.3f" % self.data['u_3_f']

        #1061_4

        

        # 调用ReportWriter类
        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME, self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        # 表格:xy
        for i, x_i in enumerate(self.data['list_x']):
            self.report_data[str(i + 1)] = "%.5f" % (x_i)

        for i, y_i in enumerate(self.data['list_y']):
            self.report_data[str(i + 101)] = "%.5f" % (y_i)
            # 最终结果
        self.report_data['L'] = self.data['L']
        self.report_data['K'] = self.data['K']
        self.report_data['J'] = self.data['J']
        self.report_data['Ua'] = self.data['Ua']
        self.report_data['UJ'] = self.data['UJ']

        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                       self.REPORT_OUTPUT_FILENAME)
 def fill_report(self):
     # 表格:原始数据d
     for i, d_i in enumerate(self.data['d_arr']):
         self.report_data[str(i + 1)] = "%.5f" % (d_i)  # 一定都是字符串类型
     # 表格:逐差法计算5Δd
     for i, dif_d_i in enumerate(self.data['dif_d_arr']):
         self.report_data["5d-%d" % (i + 1)] = "%.5f" % (dif_d_i)
     # 最终结果
     self.report_data['final'] = self.data['final']
     # 将各个变量以及不确定度的结果导入实验报告
     for key in self.report_data_keys:
         if not key in self.report_data.keys() and key in self.data.keys():
             self.report_data[key] = "%.5f" % (self.data[key])
     # 调用ReportWriter类
     RW = ReportWriter()
     RW.load_replace_kw(self.report_data)
     RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                    self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        
        for i, list_f_s_i in enumerate(self.data['list_f_s']):
            self.report_data['f_s_(i + 1)'] = "%.2f" % (list_f_s_i)
        for i, list_phi_0_i in enumerate(self.data['list_phi_0']):
            self.report_data['phi_0_(i + 1)'] = "%.4f" % (list_phi_0_i)
        for i, list_phi_1_i in enumerate(self.data['list_phi_1']):
            self.report_data['phi_1_(i + 1)'] = "%.2f" % (list_phi_1_i)
        
        self.report_data['b'] =  self.data['num_b']
        self.report_data['v_s'] ="%.2f" % self.data['num_v_s']
        self.report_data['percent'] = "%.2f" % self.data['num_percent']
        


        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME, self.REPORT_OUTPUT_FILENAME)
Exemple #7
0
    def fill_report(self):
        # 表格:原始数据d
        for i, d_i in enumerate(self.data['list_d']):
            self.report_data[str(i + 1)] = "%.1f" % (d_i)  # 一定都是字符串类型
        # 表格:逐差法计算3Δd
        for i, dif_d_i in enumerate(self.data['list_dif_d']):
            self.report_data["3d-%d" % (i + 1)] = "%.1f" % (dif_d_i)
        # 最终结果
        self.report_data['final'] = self.data['final']
        # 将各个变量以及不确定度的结果导入实验报告,在实际编写中需根据实验报告的具体要求设定保留几位小数
        self.report_data['Ave'] = "%.1f" % self.data['ave_d']
        self.report_data['Ua'] = "%.2f" % self.data['Ua']
        self.report_data['Ub'] = "%.3f" % self.data['Ub']
        self.report_data['U'] = "%.1f" % self.data['U']
        self.report_data[
            'relative_error'] = "%.3f" % self.data['relative_error']

        # 调用ReportWriter类
        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                       self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        
        #1062_1
        for i, list_y_1_i in enumerate(self.data['list_y_1']):
            self.report_data['y_1_(i + 1)'] = "%.3f" % (list_y_1_i) # 一定都是字符串类型
        for i, list_f_1_i in enumerate(self.data['list_f_1']):
            self.report_data['f_1_(i + 1)'] = "%.3f" % (list_f_1_i) # 一定都是字符串类型
        for i, list_u_i in enumerate(self.data['list_u']):
            self.report_data['u_1_(i + 1)'] = "%.3f" % (list_u_i) # 一定都是字符串类型
        
        self.report_data['final_1'] = "%.1f" % self.data['final_1']
        self.report_data['f_0'] = "%.3f" % self.data['f_0']
        self.report_data['delta_yi'] = "%.5f" % self.data['delta_yi']
        self.report_data['f_1'] = "%.3f" % self.data['f_1']
        self.report_data['u_1'] = "%.3f" % self.data['u_b']

        #1062_2

       
        # 调用ReportWriter类
        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME, self.REPORT_OUTPUT_FILENAME)
    def fill_report(self):
        for i, x_i in enumerate(self.data['list_x']):
            self.report_data["x" + str(i + 1)] = "%.5f" % (x_i)
            self.report_data["x2" + str(i + 1)] = "%.5f" % (x_i**2)
        for i, y_i in enumerate(self.data['list_y']):
            self.report_data["y" + str(i + 1)] = "%.5f" % (y_i)
            self.report_data["y2" + str(i + 1)] = "%.5f" % (y_i**2)
        for i in range(0, 8):
            self.report_data["xy" + str(i + 1)] = (self.data['list_x'][i]) * (
                self.data['list_y'][i])
        self.report_data['ave_y'] = "%.4f" % self.data['num_ave_y']
        self.report_data['ave_x'] = "%.4f" % self.data['num_ave_x']
        self.report_data['b'] = "%.4f" % self.data['num_b']
        self.report_data['a'] = "%.4f" % self.data['num_a']
        self.report_data['r'] = "%.4f" % self.data['num_r']
        self.report_data['Rx'] = "%.4f" % self.data['num_rx']
        self.report_data['ua_b'] = "%.4f" % self.data['num_ua_b']
        self.report_data['ub_rx_rx'] = "%.4f" % self.data['num_ub_rx_rx']
        self.report_data['ub_rx'] = "%.4f" % self.data['num_ub_rx']
        self.report_data['u_rx'] = "%.4f" % self.data['num_u_rx']
        self.report_data['fin_Rx'] = self.data['str_fin_rx']
        self.report_data['dt_2r0'] = self.data['num_dt_2r0']
        self.report_data['dt_2r1'] = self.data['num_dt_2r1']
        self.report_data['dt_2r2'] = self.data['num_dt_2r2']
        self.report_data['2u'] = self.data['num_u_2u']
        self.report_data['2d'] = self.data['num_u_2d']
        self.report_data['2r2'] = self.data['num_2r2']
        self.report_data['2r1'] = self.data['num_2r1']
        self.report_data['2r0'] = self.data['num_2r0']

        self.report_data['u_2r1_2r0'] = self.data['num_u_2r1_2r0']
        self.report_data['u_2ki_2ki'] = self.data['num_u_2ki_2ki']
        self.report_data['u_2ki'] = self.data['num_u_2ki']
        self.report_data['2ki'] = self.data['num_2ki']
        self.report_data['fin_ki'] = self.data['str_fin_ki']
        self.report_data['2fin_rg'] = self.data['str_fin_rg']
        self.report_data['2ub_r2'] = self.data['num_dt_2r2']
        self.report_data['2fin_rg'] = self.data['num_dt_2r2']

        self.report_data['3rs'] = self.data['num_3rs']
        self.report_data['3v'] = self.data['num_3v']
        self.report_data['3d'] = self.data['num_3d']
        self.report_data['3rg'] = self.data['num_3rg']
        self.report_data['3ki'] = self.data['num_3ki']
        # self.report_data['u3_Nm1'] = self.data['num_u3_Nm1']
        # self.report_data['u3_Nm2'] = self.data['num_u3_Nm2']
        # self.report_data['fin_rg'] = self.data['num_u3_d']
        # self.report_data['fin_rg'] = self.data['num_u3_a1']
        # self.report_data['fin_rg'] = self.data['num_u3_a2']
        self.report_data['u3_rg'] = self.data['num_u3_rg']
        self.report_data['u3_ki'] = self.data['num_u3_ki']
        self.report_data['fin_3rxh'] = self.data['str_fin_rxh']
        self.report_data['3rxh'] = self.data['num_3rxh']
        self.report_data['u3_rs'] = self.data['num_u3_rs']
        self.report_data['u3_v'] = self.data['num_u3_v']
        self.report_data['u3_r'] = self.data['num_u3_r']
        self.report_data['u3_d'] = self.data['num_u3_d']
        self.report_data['fin_u_3rxh_3rxh'] = self.data['num_u3_rxh_rxh']
        self.report_data['fin_u_3rxh'] = self.data['num_u3_rxh']
        self.report_data['fin_s_3_rxh'] = self.data['str_fin_rxh']
        # self.report_data['u3_rxh'] = self.data['num_u3_rxh']

        RW = ReportWriter()
        RW.load_replace_kw(self.report_data)
        RW.fill_report(self.REPORT_TEMPLATE_FILENAME,
                       self.REPORT_OUTPUT_FILENAME)
Exemple #10
0
def lightstone_test():
    # balance = 1725000000
    # begin_date = date(2017,2,1)
    # end_date = date(2024,1,31)
    # oid_discount = 98
    #
    # monthly_oid_payments = OID.calc_monthly_oid_payments(balance, begin_date, end_date, oid_discount)
    #
    # print (monthly_oid_payments)
    #
    #
    # balance = 300000000
    # begin_date = date(2018,9,1)
    # end_date = date(2024,1,31)
    # oid_discount = 99.5
    #
    # monthly_oid_payments = OID.calc_monthly_oid_payments(balance, begin_date, end_date, oid_discount)
    #
    # print (monthly_oid_payments)
    #
    # balance = 1725000000
    # begin_date = date(2017,2,1)
    # end_date = date(2024,1,31)
    # oid_discount = 98
    # initial_oid = OID(balance, begin_date, end_date, oid_discount)
    # monthly_oid_payments = initial_oid.build_monthly_oid_payments()
    #
    # print (monthly_oid_payments)
    #
    # balance = 300000000
    # begin_date = date(2018,9,1)
    # end_date = date(2024,1,31)
    # oid_discount = 99.5
    # upsize_oid = OID(balance, begin_date, end_date, oid_discount)
    # monthly_oid_payments = upsize_oid.build_monthly_oid_payments()
    # print (monthly_oid_payments)


    # balance = 1725000000
    # begin_date = date(2017,1,17)
    # end_date = date(2024,1,31)
    # dfc_rate = 0.04
    # initial_dfc = DFC(balance, begin_date, end_date, dfc_rate)
    # dfc_payments = initial_dfc.build_monthly_dfc_payments()
    #
    # print (dfc_payments)
    #

    portfolio = 'Lightstone'
    liquidity_scenario = '2020 Mar AMR Liquidity Test'
    liquidity_version = 'v1'

    lightstone_liquidity = Liquidity(portfolio,liquidity_scenario,liquidity_version)

    # print (len(lightstone_liquidity.capitalStructure))
    # for item in lightstone_liquidity.capitalStructure:
    #     print ("==================================================")
    #     if isinstance(item, Debt):
    #         print (item.instrumentID)
    #         print (" ---------------------  debt upsizes: -------------------  ")
    #         print (item.upsizes)
    #         print (" ---------------------  debt prepays: -------------------  ")
    #         print (item.prepays)
    #     if isinstance(item, OperatingCompany):
    #         print (" ---------------------  Operating Company: -------------------  ")
    #         print (item.portfolio)
    #         print (item.financialsScenario)
    #         print (item.financialsVersion)
    #         print (item.financialsTable)




    """ preset everything we need for running liquidity waterfall """
    lightstone_liquidity.set_cashflow_with_waterfall()

    """ build key components for liquidity  """
    lightstone_liquidity.analyze_liquidity()

    financials_df = lightstone_liquidity.get_financials()

    annual_cashflow_datarows, monthly_cashflow_datarows = lightstone_liquidity.output_liquidity_results()

    # financials_df.to_csv("lightstone_financials_df.csv")


    """ Step 4, calling reportwrite to write the designed reports """
    wb = 'myfirstkean3report.xlsx'
    filepath = 'myfirstkean3report.xlsx'
    data = {'Annual Summary':annual_cashflow_datarows, 'Monthly Summary': monthly_cashflow_datarows}
    formats = {}
    test_rw = ReportWriter(wb, data, formats)
    test_rw.write_data_to_workbook()
    test_rw.save(filepath)