Native Instrument Traktor Playlist

Most weeks I do a techno set and publish it on Soundcloud, which I use as a sort of audio Journal or Mixcloud, which is for stuff that is worth listening to.

Since I use other peoples material I make an effort to post the set-list so that other enthusiasts can find the artists and titles and purchase the tracks.

It looks like this:

Mixcloud setlist

This csv format is excellent because it is simple — and Mixcloud will parse it if you paste the raw csv data into the ui when uploading.

This satisfies my desire for fairness, helpfulness and honesty. It helps other dj’s, the artist and myself, but the procedure is a bit of a pain, so I built a python script to automate it.


When you are done playing your set, you can go to the history folder and click “Save as webpage”. If you are not in the same session as when you did the set, you go to Archive and do the same.

Save the setlist (leaving all options on )

The setlist will open in your browser looking like this:

I used to use an html to csv converter to get the csv data. In order to avoid manually deselect all the list options in the previous step and go straight to the artist / title csv, I made a Jupyter Notebook that takes the raw HTML file, removes all unwanted columns, duplicates etc and generally cleans up the set-list and saves it to the csv format.

Here is what you do:


Clone the github repo to your local machine:

git init 
git remote add origin git pull origin master

Install the requirements from the requirements.txt file:

pip install -r requirements.txt

Move the html file you exported from Traktor to the same folder as the jupyter notebook and open the jupyter notebook

jupyter lab

It should look something like this:

Step through each of the cells and enter the name of the playlist you exported from Traktor as HTML into the input box. For convenience I have included an HTML file called:


You can use that if you want.

Now step down to cell 6 and you will see something like this in the notebook:

Step further down to cell #10 and you get a clean table that looks like this:

And if you step to the bottom of the notebook, you get a csv file that looks like this:

Love Someone Else Mood Edit,”Nicole Moudaber, Skunk Anansie”
Love Someone Else Original Mix,”Nicole Moudaber, Skunk Anansie”
Vanishing Point,Setaoc Mass
Bombastik (Original Mix) [],John P
Hidden T (Original Mix),Enrico Sangiuliano
Visionary (Beico & Mt93 Remix),Bruno Aguirre
Star (Drunken Kong Remix),Fatima Hajji
Interstellar (Original Mix),Victor Ruiz
For an Endless Night (Original Mix),Alan Fitzpatrick
For An Endless Night (Jel Ford Remix),Alan Fitzpatrick

This is the final product. Paste it directly into Mixcloud or Soundcloud :)

If you don’t like Jupyter Notebooks, I’ve included a regular python script in the github repo as well:



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store