def months_stat(self, q_months, year):
        q_df = self.period_calc(q_months, year)
        sum_q = self.period_stat(q_months, year)

        wb = Workbook()

        sh = Sheet.add("Summary", wkb = wb)

        row_flag = write_to_excel(q_df, sh = sh)
        row_flag = write_to_excel(sum_q, sh = sh, row_flag = row_flag)

        sh = Sheet.add("Master", wkb = wb)
        row_flag = write_to_excel(self.active_on_the_day(t_month_end(q_months[-1], year))                                  .data.pipe(ready_excel), 
                                sh = sh)
        
        sh1 = Sheet.add("Aggregate", wkb = wb)
        row_flag = write_to_excel('New Leases During the Period', sh = sh1)
        new_leases_list = self.new_analysis(t_month_start(q_months[0], year), t_month_end(q_months[-1], year))                           .data.pipe(ready_excel)
        row_flag = write_to_excel(new_leases_list, sh = sh1, row_flag = row_flag)

        row_flag = write_to_excel('Expired During the Period', sh = sh1, row_flag = row_flag)
        
        expired_leases_list = self.old_analysis(t_month_start(q_months[0], year), t_month_end(q_months[-1], year))                                   .data.pipe(ready_excel)
        row_flag = write_to_excel(expired_leases_list, sh = sh1, row_flag = row_flag)     
        
        r_expired_leases_list, r_new_leases_list, period_rate = self.renewal_a(q_months, year)
        
        sh1 = Sheet.add("Renewal", wkb = wb)
        row_flag = write_to_excel('Renewed Leases During the Period', sh = sh1)
        row_flag = write_to_excel('Original Leases', sh = sh1, row_flag = row_flag)

        row_flag = write_to_excel(r_expired_leases_list.pipe(ready_excel), sh = sh1, row_flag = row_flag)

        row_flag = write_to_excel('Renewed Leases', sh = sh1, row_flag = row_flag)    
        row_flag = write_to_excel(r_new_leases_list.pipe(ready_excel), sh = sh1, row_flag = row_flag)

        row_flag = write_to_excel('Weighted Average Reversion Rate', sh = sh1, row_flag = row_flag)
        row_flag = write_to_excel(period_rate, sh = sh1, row_flag = row_flag)
        
        quarter = q_months[-1]//3

        for tower in range(1,3):    
            sh_new = Sheet.add("Tower {tower} {year} Q{quarter}".format(tower = tower, year = year, quarter = quarter), wkb = wb)
            row_flag = write_to_excel('Tower {tower} New Leases During the Period'.format(tower = tower), sh = sh_new)   
            new_leases_list_T = new_leases_list.loc[new_leases_list['BLDG'] == tower].copy()
            row_flag = write_to_excel(new_leases_list_T, sh = sh_new, row_flag = row_flag)

            row_flag = write_to_excel('Tower {tower} Expired Leases During the Period'.format(tower = tower), sh = sh_new, row_flag = row_flag)
            expired_leases_list_T = expired_leases_list.loc[expired_leases_list['BLDG'] == tower].copy()
            row_flag = write_to_excel(expired_leases_list_T, sh = sh_new, row_flag = row_flag)

        Sheet('Sheet1').delete()
        wb.save("Operating Statistics Q{quarter} {year}".format(quarter = quarter, year = year))
        #wb.close()        

        return "OK"
Пример #2
0
def xlo(df, filename=None):
    """ show pandas dataframe or series in excel sheet
        uses xlwings which allows writing to open file
    """
    if not filename:    
        filename = "_temp.xlsx"
    if not os.path.isfile(filename):
        wb = Workbook()
        Sheet("Sheet2").delete()
        Sheet("Sheet3").delete()
    else:
        wb = Workbook(filename)
        Sheet.add()
    Range("A1").value = df
    wb.save(filename)
Пример #3
0
    def __init__(self, sheet="log"):
        """ create sheet and setup format """
        logging.Handler.__init__(self)
        try:
            self.caller = Workbook.caller()
        except:
            self.caller = None
            return
        
        # create sheet if it does not exist
        self.sheet = sheet
        if sheet not in [s.name for s in Sheet.all()]:
            Sheet.add(sheet)
        Sheet(sheet).clear()

        self.row = 0
Пример #4
0
    def test_add_wkb(self):
        # test use of add with wkb argument

        # Connect to an alternative test file and make Sheet1 the active sheet
        xl_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test_range_1.xlsx')
        wb_2nd = Workbook(xl_file, app_visible=False, app_target=APP_TARGET)

        n_before = [sh.name for sh in Sheet.all(wkb=wb_2nd)]
        Sheet.add(name="default", wkb=wb_2nd)
        Sheet.add(name="after1", after=1, wkb=wb_2nd)
        Sheet.add(name="before1", before=1, wkb=wb_2nd)
        n_after = [sh.name for sh in Sheet.all(wkb=wb_2nd)]
        
        n_before.append("default")
        n_before.insert(1, "after1")
        n_before.insert(0, "before1")
        
        assert_equal(n_before, n_after)
        wb_2nd.close()
Пример #5
0
    def test_add_after(self):
        Sheet.add(after=Sheet.count())
        assert_equal(Sheet(Sheet.count()).name, Sheet.active().name)

        Sheet.add(after=1)
        assert_equal(Sheet(2).name, Sheet.active().name)
Пример #6
0
 def test_add_before(self):
     new_sheet = Sheet.add(before='Sheet1')
     assert_equal(Sheet(1).name, new_sheet.name)
Пример #7
0
## CVS File check exist or not & Size 


if os.path.isfile(file_itogo or file_ir or file_iv):
   
	if os.stat(file_itogo or file_ir or file_iv).st_size > 0:
		## Open new Workbook


		wb = Workbook(app_visible=False )
		# Prepare first sheet

		sheet1 = pd.read_csv(file_itogo, delim_whitespace=True)

		Sheet.add('csv_itogo',before='Sheet1')

		Range('csv_itogo','A1',index=False).value =sheet1

		Range('csv_itogo','A:ZZ').autofit('c')

		# Prepare Second sheet

		sheet2 = pd.read_csv( file_ir, delim_whitespace=True)

		Sheet.add('csv_ir',after='csv_itogo')

		Range('csv_ir','A1',index=False).value = sheet2

		Range('csv_ir','A:ZZ').autofit('c')
Пример #8
0
 def test_add_name_already_taken(self):
     Sheet.add('Sheet1')
Пример #9
0
 def test_add_named(self):
     Sheet.add('test', before=1)
     assert_equal(Sheet(1).name, 'test')
Пример #10
0
# Any way to create a new worksheet using xlwings?
from xlwings import Sheet
Sheet.add()
Пример #11
0
    def test_add_after(self):
        Sheet.add(after=Sheet.count())
        assert_equal(Sheet(Sheet.count()).name, Sheet.active().name)

        Sheet.add(after=1)
        assert_equal(Sheet(2).name, Sheet.active().name)
Пример #12
0
 def test_add_before(self):
     new_sheet = Sheet.add(before='Sheet1')
     assert_equal(Sheet(1).name, new_sheet.name)
Пример #13
0
 def test_add_name_already_taken(self):
     Sheet.add('Sheet1')
Пример #14
0
 def add_sheet(self, name):
     Sheet.add(name)
     self._i = 1
                 Sheet('Result',wkb=wb).name=NewSheetName
                 wb.set_current()
                 #Copy All Range
                 AllRRow = len(Range('A1').vertical.value)
                 AllRCol = len(Range('A1').horizontal.value)
                 print AllRCol,AllRRow
                 RangeLimit = ('A1:B%d' % AllRRow)
                 TempData = Range(RangeLimit).value
                 wbTarget.set_current()
                 lastSheetVal = Sheet.count()
                 OriginSArr=[]
                 for SheetName in xrange(1,lastSheetVal+1):
                     OriginSArr.append(Sheet(SheetName).name)
                 if NewSheetName not in OriginSArr:
                     print "I should Add new array"
                     Sheet.add('abc',after=lastSheetVal)
                     Sheet('abc').name=NewSheetName
                     #Paste Data
                     Range(RangeLimit).value=TempData
                     #hypelink
                     for hyperRow in xrange(2,AllRRow):
 
                         RangeName=('B%d' % (hyperRow))
                         address=Range(RangeName).value
                         
     
                         try:
                             Range(RangeName).add_hyperlink(address, text_to_display=address)
                         except:
                             pass
                 wbTarget.save()
Пример #16
0
 def test_add_default(self):
     # TODO: test call without args properly
     Sheet.add()
Пример #17
0
 def test_add_named(self):
     Sheet.add('test', before=1)
     assert_equal(Sheet(1).name, 'test')
Пример #18
0
 def test_add_default(self):
     # TODO: test call without args properly
     Sheet.add()