копирование столбца из одной рабочей книги в другую на основе условий с использованием openpyxl - PullRequest
0 голосов
/ 15 апреля 2020

Я сейчас работаю с пакетом openpyxl. У меня есть два листа в моем листе Excel, лист 0 - это лист подписи 1 - это итоговый лист для выставления счетов

Мне нужно заполнить информацию на основе значения текущего месяца, которое находится в ячейке F1 в биллинговой ведомости. Мне нужно найти текущий месяц в листе подписи и заполнить значения для этого столбца

Ниже приведен код, который я пробовал до сих пор, я получаю значение из биллинг-листа, а также могу найти значение в signoffsheet, но не получил успех в заполнении столбца в листе подписи.

Ниже приведен код, который я разработал до сих пор

from openpyxl import load_workbook
import openpyxl
from ConfigDetails import ConfigDetails
import traceback
import sys


class SignOff:
    def __init__(self,billingSummary):
        self.outputFile= billingSummary
        self.indivSheet=0
#        print(":::",self.gwlFileName)
        self.summaryRow=0
        ConfigDetails.logger.info("************Signoff And Wire-Transfer Request Process start***************")
        ConfigDetails.logger.info("Output File::{}".format(self.outputFile))

    def updateSignOff(self):
        ConfigDetails.logger.info("process Signoff Start ")  
        try:
            workbook = load_workbook(filename=self.outputFile)
            workbook.active = 1    
            sheet = workbook.active
#findng month             
            Month = sheet ['F1']
            print(Month.value)


            for value in sheet.iter_rows(min_row=5,max_row=13,min_col=13,max_col=13,values_only=True):
                print(value)
                BillingValue[i]=value


#            print (BillingValues)

            workbook.active = 0 
            sheet = workbook.active
            SignOffMonth = sheet ['D3']
#            print(SignOffMonth.value)
#finding Column in signoffsheet from using Month Variable             
            for col in sheet.iter_cols():
                for cell in col:
                    if cell.value == Month.value:
#                        col.value = BillingValues
                        print (cell.value)


#            summryRow = 'J'+str(self.summaryRow)
#           sheet[summryRow]=0
            workbook.save(filename=self.outputFile)
            ConfigDetails.logger.info(" Process Signoff completed") 


        except Exception:
            print("Error in Trad Parser Processing - Signoff Sheet Error",Exception)
            traceback.print_exc(file=sys.stdout)
            sys.exit()    

I need to fill in this column in signoffsheet

...