在Billing-Floster-SOW.xlsx中,我有一个新的列数据,一个名为SOW,另一个名为SOW Description(SOW的匹配值)。 现在,当我打开ACFC_Resource_Allocation.xlsx excel时,例如,如果从下拉列表中选择D2(SOW)单元格中的一个值,我应该在从下拉列表中选择后,在E2单元格中获得一个匹配值
我只有一个想法,那就是像下面这样一个Excel的vlookup可以解决我的问题。不知道如何在python中实现。 =VLOOKUP(D2,“[Billing-lotus-SOW.xlsx]SOW List'!$A$1:$B$14,1,FALSE)
在代码下面尝试
from openpyxl import *
from openpyxl.styles import *
import webbrowser
import pandas
from openpyxl.worksheet.datavalidation import DataValidation
# Read all Excels into pandas dataframes
sowexcel = pandas.read_excel('Billing Roster - SOW.xlsx')
#Load the existing Resource Allocation Excel
wb = load_workbook('ACFC_Resource_Allocation.xlsx')
allocationsheet = wb.active
def load():
maxrow = allocationsheet.max_row
sow_list = sowexcel['SOW #'].tolist()
column_sow = ','.join(sow_list)
validator_sow = DataValidation(type='list', formula1='"{}"'.format(column_sow), allow_blank=True)
allocationsheet.add_data_validation(validator_sow)
validator_sow.add('D2:D%s' %maxrow)
# save the file
wb.save('ACFC_Resource_Allocation.xlsx')
wb.close()
# Driver code
if __name__ == "__main__":
load()
file_open = webbrowser.open('ACFC_Resource_Allocation.xlsx')
目前没有回答
相关问题 更多 >
编程相关推荐