Get the info from 2 different rows in the same column using a one key from another column

python

#1

Hi all,

Again I need your support!

I have the following excel file info:
image

Using the key “Site ID” I want to find the VLAN XXX about the key1 but if you observe the excel I have 2 rows for the same key1, I have the identification for the first row as “key1” and for the second row it’s blank but nevertheless that row also contains info about “key1”.

this is the coding:

> excel_file = u'*Personal SUR GUL EPT 20190103*'
> controller_file = u'*IPs Controladoras*'
> ip_plan_file = u'*IP PLAN South_2*'
> controller_Dict = LOAD_EXCEL_FILE(controller_file, "Sheet1", 1, "key2")
> ip_plan_Dict = LOAD_EXCEL_FILE(ip_plan_file, "Sheet2", 1, "Site ID")
> Site_2G_Dict = LOAD_EXCEL_FILE(excel_file,"Sheet3", 1, "Site Name")
> 
> Base_Station_row_list = []
> Site_list = READ_TXT_FILE("site_list")
> for sites in Site_list:
>     if sites not in Site_2G_Dict.keys(): # Check if SiteID exist in excel file
>         print sites, "Not present in Personal excel file"
>         continue
> 		
> Site_2G_Info = Site_2G_Dict[sites]
> h = Site_2G_Info[0].attr("Site ID")
> 
> # Device IP Address info
>     for device_ip in ip_plan_Dict:
>         if device_ip != h: continue
>         device_ipplan_info = ip_plan_Dict[device_ip]
>         i = device_ipplan_info[0].attr("IP Address")

`
with this coding, I can get the IP Address info “i = 10.1.2.1/30” but I don’t want the IP I want the VLAN XXX info “i = VLAN 1000”

Thanks in advance


#2

Sorry Python is not my best but you should be able to do this with simple nodes. Maybe my thought process can help with your python code too.

If each key has two rows then just chop the third column into two items and take the last or second item from that list.

Here is what my excel sheet looked like.

Hope this helps,


#3

Sorry but I’m newbie in python, what is that program? How would the code be?


#4

That program is Dynamo. Its what this forum is for.


#5

I don’t use Dynamo, can anyone help me with the python coding?


#6

:joy::joy:

You are on the wrong forum. This forum is for Dynamo with Python only being for help within Dynamo/RevitAPI. Some people here can help you with Python but that is not the main purpose of here.

As for your question, it depends on what you want the outcome list to be. Are you looking to just have a list of all vlans or do you want it appended to a master list that includes key/ip address? You can see an example of both here: