Ekahau Automation, Optimising project workflow – Part 2
This is Part 2 of a how-to guide on Ekahau Automation, focusing on optimising project workflow through python scripts. This chapter specifically targets on manipulating data from the Ekahau JSON files.
For Part 1, and more Ekahau / Python goodness,
visit the dedicated Ekahau Automation page
In part 2 of this how to series, we introduce a new python library, “CSV”. This library is used to transfer the data from the JSON files, to CSV.
import csv
Ekahau Automation – CSV
In part 1 of this series, we discussed how to decompress an Ekahau project file, and read the contents of the JSON file. The next step is to collect the various fields, and place them into a CSV file.
This is how I have used the CSV library in my scripts. The first step was to define my header, and launch the process to write to csv.

Following this, I collected the data. Then organized it into a list, before writing to CSV.

This isn’t the only way to export your data. You could push it to a cloud provider via API, utilize an excel library, write it back to JSON, the options are endless.
Matching data between JSON files to retrieve another value.
One of the more complicated topics when starting out with the Ekahau project JSONs is how to retrieve data from within multiple JSON files.
For example – If you start in the Access Point JSON file, and collect the values, you will retrieve an item called “id”

This tag appears in other JSON files, Simulated Radios for example:

By matching these two fields together, you are able to retrieve the “Access Point Name” from within the project, and match it to fields within the Simulated Radios JSON – Antenna Tilt, Height, Mounting, Channel.
This is acheived through a series of foreach loops and if statements. See below as an example.

Resources / Links
Static Channel Configurator – Cisco and Ekahau
Leave a Reply