Compare lists from Excel and Revit and sort out the difference

Hi everyone
I’m starting with some basic scripts here i dynamo, and right now i have trouble with matching keys with the rigt values.

my case is: I have an Excel file containing all the information for my Doors in a projekt. That excel file is now out datet since i have placed some more doors in my Revit file. what i would like to do now, is to create an Excel spreadsheet containing only the doors that are not in the originally Doorscheme. i have done that, with the set difference node i dynamo by mark value, but i would like to have the rest of the information about these doors (fire requirement, acoustic requirement ect.) in the new excel file as well.

(Sorry for the messy workplace i’ve unsuccessfully tryed some different things)

do you guys have any Suggestions?

Hello, I took a quick look and I first noticed that there is a formula that seems strange (A=b), since the description of the node says that it evaluates mathematical formulas. To compare lists together, I would rather use a List.Contains node and play with lacing. Then, if you have a common element key in Excel and Revit schedules, the lists shouldn’t be difficult to compare. You could try the Dictionary.ByKeysValues from Springs to associate a request with its correponding values. But first, I would begin by reorganising and describing the process in titles. It should be clearly linear, beginning with values extraction and sorting, then mapping, filtering, and finally writing to file.

@tje

You’d probably be better off using a database such as SQLite rather than Excel.

You could use a SELECT FROM WHERE query to lookup data, or an UPDATE or REPLACE query based on a unique identifier such as GUID or in your case a door mark.

I suggest you distill your issue down to a simple example explaining what you want to achieve & include RVT/DYN file

Andrew

thanks for your reply guys.

i found out that the key to the problem, was in lacing. just like you said Yna_Db. i used some simple Filter by boolmask and set them to cross lacing, and that did the trick

1 Like