Help Wizard

Step 1

NEXT STEP

I've Created a FREE CSV Playlist Import Tool

Reply

I've Created a FREE CSV Playlist Import Tool

http://nickwanders.com/projects/ng-spotify-importer/

 

Its my first attempt at both Angular and using Spotify's APIs. So its probably buggy. It also desperately needs UI / UX work. A link is provided to my public GitHub repo if you'd like to contribute, or even log bugs 🙂

 

I've tested the tool with 250+ songs and its able to import them in roughly 30 seconds. I suspect it will work with larger playlists. However, I'm not entirely sure what will happen since most processing is done in memory (in the browser). Also, I've only used Chrome, so please let me know how it runs on other browsers.

 

Last but not least, the tool requires that you grant it the ability to modify / create public playlists for your account ("playlist-modify-public" scope, for the techie folk).

 

Enjoy and ride those electro waves!

54 Replies

Hey nick_wanders,

 

 

Awesome Work.. Nailed It.. 

 

 

Regards,

 

 

Rahul Haldar - Diehard & Loyal Fan Of Music & Spotify

Thanks for the support 🙂
Be on the lookout for updates to the tool!

Hi nick_wanders ,


Sure Mate.. I Will.. And You Are Always Welcome..


Regards,


Rahul Haldar - Diehard & Loyal Fan Of Spotify

I've updated the tool to include a "more" button. When clicked a dialog will appear allowing you to search for related songs. Clicking a related song replaces it in the displayed playlist. The import process will then use the related song.

 

This helps resolve unknown or mismatched songs.

 

Enjoy 🙂

Another update 🙂

Now when you grant access to your Spotify account (again only to create / modify public playlists) the tool will refresh its access in the background. Effectively allowing you to import and modify playlists for as long as you like. The previous version would time out after 1 hour. This is helpful for those that have numerous playlists, or those that need to make time consuming adjustments prior to importing.

The update does require that you to grant access to Spotify each time you load the tool.

Let me know what you think.

Nice. I just did a test using a Billboard Top 100 list. Had to adjust maybe a dozen titles or artists, but it was WAY easier than doing it manually.

Hi I've tried to upload a list but it seems to just not like some of the language in it. I tested it with some artists and it would let the csv import only if some of the artist was deleted etc.  Although the idea is awesome, there seems to be a mystery as to what it likes and doesn't like. Could you please shed some light on that? 

 

Cheers 🙂 

I sadly copied and pasted a list of 7k songs off the internet and it didn't work at all. I made some fixes to the format so I thought I would share it. 

 

so if you find yourself nin a bind make sure the following are being met. 

 

1. You have named two top cells title and artist

2. remove accent marks -unless you know macro there is no easy way to do it just find and replace. (Excel doesn't save CSV files without them unfortunately) - these are "(á, é, í, ó, ú, ü, ñ ..." - band names like motley crue have them in there. 

2a. Fina and replace with nothing. make sure there are no punctuation marks, like ! or . or ' or anything like that. 

3. there are no trail spaces in the title or artist (The space after the last letter), if you find yourself with them - run this code =TRIM(SUBSTITUTE(*CELL*,CHAR(160),CHAR(32))) - *CELL* i.e B3 or A2 is the target cell. This removes the trailing space that is formed when coping and pasting from a table on the net.

 

if it still says invalid, start with testing line by line, you will soon see what it likes or doesn't like. 

 

Once its loaded, it wont find any artists that have 'featuring' or 'and' or 'ft'... so you have to remove everything including and after those works- excel has some excellent formulas for this back on your s/sheet.  (Sorry if you are a hip hop fan)

try this: and put the words inside the " " marks

=LEFT(A1,FIND(" ",A1)-1)

 

*disclaimer you will have to rin the trail space formula again after you are done. 

 

 

 

 

Hey man, this is bad ass.

 

I thought I was pretty scre*ed when GPM finally went offline. I managed to grab my data and put together a script to merge Google's ridiculous CSV format into a single file per playlist, but I couldn't do anything with it because none of the services out there supported any kind of local file import. I waited too long to work on this problem and it was too late to use the transfer tool I had.

 

I was basically scre*ed till I came across your tool. I managed to import 700+ songs and only 100 of them failed due to weirdo naming formats and unusual characters, but the way you have an option to change the search parameters in a popup and refine the query, *and* hear a preview is awesome.

 

I think I got my whole favs playlist sorted thanks to your tool.

 

I owe you a beer.

Dangum, nice job working around some of the limitations of the tool I wrote 🙂

 

When I find some time I'll see if I can incorporate your workarounds into the tool. Just be aware that my free time is now limited, hence me taking 3 weeks to respond.

Nice job! Is this possible to be ran on docker and host it myself? I'm trying to create an automatic sequence to sync my Plex playlist to Spotify and running it on my own server would make everything so much simpler.

Should be doable, its an Angular + Typescript project with no server-side components.

Source code is available here:
https://github.com/NBS-LLC/ng-spotify-importer

Have fun 🙂

This is amazing, Nick!

I've recently lost my Shazam playlist after following a guide on how to reset a stuck Shazam playlist that was no longer refreshing (spoiler alert: it just ended up deleting my database of Shazamed songs).

All I found online was paid playlist converters so I was super happy to find your script, which identified 1046 of the 1314 songs from my Shazam export and now I have that playlist back almost in full.

Thanks so much for creating this, you made my day!

Adam

Hi!

I'm getting the "ERROR: Invalid CSV playlist". I've tried different exporting options to CSV or TXT, both in Google Spreadsheets and Excel and I can't make it work. I'm exporting two columns (A: Title, B: Artist).

What's wrong? Am I missing something? 

Hi Boogie,

I had the same thing at first.

So I deleted all other columns and the extraneous first row so TITLE and
ARTIST were the name of columns A and B respectively, with no other column.

This solved it for me, I hope it does for you too!

Adam

Thanks a million!

Thanks a lot 🙂

1456 songs imported over 1631 !

 

Just to be clear, here are the steps I did to import my songs from Deeezer :

 

  • create a CSV file with title and artist column
  • open http://nickwanders.com/projects/ng-spotify-importer/
  • grant Spotify Access by clicking the button
  • select the file, and wait that the processing is complete (it took about 6 minutes for me, If I believe the timer displayed in the console.log)
  • once the last file is done, scroll up, give the playlist a name and click import
  • you should see the playlist appear in spotify.

 

Now how to get the list of title and artist.

If you come from Deezer, here is how.

 

  1. Open your deezer playlist
  2. in the address bar of your browser, copy the last digits
    1. ex: https://www.deezer.com/fr/playlist/94747656322, then copy 94747656322
  3. Now be sure to be connected to your Deezer Account, and then copy paste this URL in a new tab 
    https://api.deezer.com/playlist/94747656322/tracks?index=0&limit=1000

    this will get the first 1000 tracks of that playlist.
    Copy paste the ouput in a file (CTRL+a, CTRL+C), playlist.json
    Note: wget won't work as you won't be authenticated as you currently are in your browser
  4. Install JQ, see here : https://stedolan.github.io/jq/download/
    brew install jq for mac users. 
  5. cat playlist.json | jq '.data[].title' > playlist-title.txt
  6. cat playlist.json | jq '.data[].artist.name' > playlist-artist.txt
  7. cat playlist.json | jq '.data[].album.title' > playlist-album.txt
  8. Now open a Google Sheet, and create a new sheet
  9. open playlist-title.txt, copy all (ctrl+a, ctrl+c), and paste in the first column of the google sheet
  10. open playlist-artist.txt, copy all (ctrl+a, ctrl+c), and paste in the 2nd column of the google sheet
  11. (optional) open playlist-album.txt, copy all (ctrl+a, ctrl+c), and paste in the 3rd column of the google sheet
  12. add a column header (insert a first line) with "title", "artist", "album" as columns
  13. Repeat if you have more songs to add to this playlist. (I had my favorites in 2 playlists because of the stupid 1000 songs limit of deezer)
  14. Then download as CSV, and you can use the tool provided here 🙂

 

again, thanks very much.

I bought freeyourmusic, and it didn't worked at all, it's a shame. I got refunded in the end. 

 

 

Thanks so much for making this. Took a bit of jiggling to get rid of all the punctuation and other mystery characters from my file, but I'm so happy now it's done!

Cheers!
Paul

Boogie_Harrison, make sure the first row is a header containing columns: TITLE and ARTIST.

Suggested posts