예제 #1
0
 def test_filename(self):
     exFile = ExcelWriter('')
     self.assertEqual('', exFile.filename)
     exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx')
     self.assertEqual('/Users/developer/Downloads/test.xlsx',
                      exFile.filename)
     self.assertIsNotNone(exFile._workbook)
     self.assertIsNotNone(exFile._worksheet)
     self.assertEqual('Sheet', exFile._activeSheetName)
     self.assertEqual(1, exFile._rowNum)
     self.assertEqual(1, exFile._column)
예제 #2
0
    def test_set_active_sheet(self):
        exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx')

        def test1():
            exFile.setActiveSheet('abc')
            self.assertEqual('abc', exFile.activeSheetName)
            self.assertIsNotNone(exFile._workbook)
            self.assertIsNotNone(exFile._worksheet)
            self.assertIsNotNone(exFile._rowNum)
            self.assertEqual(1, exFile._rowNum)
            self.assertIsNotNone(exFile._column)
            self.assertEqual(1, exFile._column)

        def test2():
            exFile.setActiveSheet('def')
            self.assertEqual('def', exFile.activeSheetName)
            self.assertIsNotNone(exFile._workbook)
            self.assertIsNotNone(exFile._worksheet)
            self.assertIsNotNone(exFile._rowNum)
            self.assertEqual(1, exFile._rowNum)
            self.assertIsNotNone(exFile._column)

        test1()
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        test2()
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        self.assertTrue('def' in exFile._workbook.sheetnames)
예제 #3
0
    def test_write_line(self):
        exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx')

        def test1():
            exFile.setActiveSheet('abc')
            header = True
            for item in self._verifyList:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(len(self._verifyList), exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyList) + 1, exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)
            for i in range(1, exFile._worksheet.max_row):
                for j in range(1, 3):
                    currCell = exFile._worksheet.cell(row=i, column=j)
                    self.assertEqual(self._verifyList[i - 1][j - 1],
                                     currCell.value)
                    if j <= 2:
                        self.assertEqual('@', currCell.number_format)
                    else:
                        self.assertEqual('0', currCell.number_format)

        def test2():
            exFile.setActiveSheet('def')
            header = True
            for item in self._verifyList[:-1]:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(
                len(self._verifyList) - 1, exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyList), exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)
            for i in range(1, exFile._worksheet.max_row):
                for j in range(1, 3):
                    currCell = exFile._worksheet.cell(row=i, column=j)
                    self.assertEqual(self._verifyList[i - 1][j - 1],
                                     currCell.value)

        test1()
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        test2()
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        self.assertTrue('def' in exFile._workbook.sheetnames)
예제 #4
0
    def test_save(self):
        exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx')

        def test1():
            exFile.setActiveSheet('abc')
            header = True
            for item in self._verifyList:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(len(self._verifyList), exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyList) + 1, exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)

        def test2():
            exFile.setActiveSheet('def')
            header = True
            for item in self._verifyList[:-1]:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(
                len(self._verifyList) - 1, exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyList), exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)

        test1()
        test2()
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        self.assertTrue('def' in exFile._workbook.sheetnames)
        exFile.save()
예제 #5
0
 def test3():
     val = 'abc'
     self.assertIsInstance(val, str)
     ExcelWriter._setFormatting(currCell, val)
     self.assertEqual('@', currCell.number_format)
예제 #6
0
 def test2():
     val = datetime.strptime('1/1/2020', '%m/%d/%Y')
     self.assertIsInstance(val, datetime)
     ExcelWriter._setFormatting(currCell, val)
     self.assertEqual('yyyy-mm-dd', currCell.number_format)
예제 #7
0
 def test1():
     val = 1
     self.assertIsInstance(val, int)
     ExcelWriter._setFormatting(currCell, val)
     self.assertEqual('0', currCell.number_format)
예제 #8
0
 def test_activeSheetName(self):
     exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx')
     self.assertEqual('Sheet', exFile.activeSheetName)
예제 #9
0
    def test_openExisting(self):
        # copyfile('/Users/developer/Downloads/test.xlsx',
        #          '/Users/developer/Downloads/test2.xlsx')
        exFile = ExcelWriter('/Users/developer/Downloads/test.xlsx',
                             openExisting=True)

        def test1():
            self.assertEqual('/Users/developer/Downloads/test.xlsx',
                             exFile.filename)
            self.assertIsNotNone(exFile._workbook)
            self.assertIsNotNone(exFile._worksheet)
            self.assertEqual('Sheet', exFile._activeSheetName)
            self.assertEqual(1, exFile._rowNum)
            self.assertEqual(1, exFile._column)

        def test2():
            # Remove existing sheet 'abc' before proceeding.
            self.assertTrue('abc' in exFile._workbook.sheetnames)
            exFile._workbook.remove(exFile._workbook['abc'])
            self.assertFalse('abc' in exFile._workbook.sheetnames)
            exFile.setActiveSheet('abc')
            header = True
            for item in self._verifyListNew:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(len(self._verifyListNew),
                             exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyListNew) + 1, exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)

        def test3():
            # Remove existing sheet 'def' before proceeding.
            self.assertTrue('def' in exFile._workbook.sheetnames)
            exFile._workbook.remove(exFile._workbook['def'])
            self.assertFalse('def' in exFile._workbook.sheetnames)
            exFile.setActiveSheet('def')
            header = True
            for item in self._verifyListNew[:-1]:
                exFile.writeLine(item, header)
                if header:
                    header = False
                else:
                    header = True

            self.assertEqual(
                len(self._verifyListNew) - 1, exFile._worksheet.max_row)
            self.assertEqual(len(self._verifyListNew), exFile._rowNum)
            self.assertEqual(1, exFile._column)
            self.assertEqual(3, exFile._worksheet.max_column)

        test1()
        test2()
        test3()
        self.assertTrue('Sheet' in exFile._workbook.sheetnames)
        self.assertTrue('abc' in exFile._workbook.sheetnames)
        self.assertTrue('def' in exFile._workbook.sheetnames)
        exFile.save('/Users/developer/Downloads/test2.xlsx')
예제 #10
0
파일: Covid19.py 프로젝트: ssarup/covid19
        python3 controller/Covid19.py 
            --download 
            --location "USA/New York/New York, USA/New York/Nassau, USA/New York/Westchester, USA/New York/Rockland, USA/New Jersey/Bergen, USA/New Jersey/Hudson, USA/New Jersey/Middlesex, USA/New Jersey/Mercer, USA/Connecticut/Fairfield, USA/Washington/King, USA/California/Santa Clara, USA/Illinois/Cook, United Kingdom//, India//" 
            --templateOutput "/Users/developer/Downloads/covid19Template7.xlsm" 
            --output "/Users/developer/Downloads/covid19/covid19.xlsm"
    """
    args = Covid19Args()
    args.setup()
    args.parse()

    inputList = Covid19ControllerUtils.setupInputsFromArgs(args)

    obsColl = Covid19ControllerUtils.createObsCollection(inputList)

    writer = ExcelWriter(args.templateOutput,
                         openExisting=True,
                         hasMacros=True)
    writer._rowNum = 2

    print('xx', str(args.locationList))
    for locStr in args.locationList:
        # print('xx', locStr)
        loc = CmdLineToLocation.makeLocation(locStr)
        print('Adding values for location "{0}".'.format(loc.locationAsStr()))
        for obs in obsColl.getObservations(loc):
            # outputTup = (loc.country, loc.state, loc.county, '', obs.obsDate.value.strftime('%m/%d/%Y'), obs.value)
            outputTup = (loc.country, loc.state, loc.county, '',
                         loc.locationAsStr(), obs.obsDate.value, obs.value,
                         obs.log2Value, obs.lnValue)
            writer.writeLine(outputTup, header_=False)
    writer.save(args.outputfile)