Search code examples
javaredisredis-server

Load CSV file in Redis using Redis-cli on Windows


I went through questions like how to import a ".csv " data-file into the Redis database and decided to put a question here after lot of web searching.

I've an employee.csv file and looking to import that file using the redis-cli. I am using the Windows version 3.2.100 of Redis server.

employee.csv

SET "employee_1" "1, John Smith, 40, Male, John, 10000"
SET "employee_2" "2, Marco Polo, 43, Male, Marco, 10000"
....
SET "employee_1999999" "1999999, Tom Cruse, 50, Male, Tom, 10001"

I also followed url: https://gist.github.com/arsperger/6f246f21279edf3cd03ba2bee19daaef and https://www.alibabacloud.com/help/doc-detail/26357.htm, but cat will not support to the Windows version.

What can I try next?


Solution

  • For instance when you use mentioned "Git Bash" you can do as follows (last step outputs the commands, but they may as well be piped to redis-cli:

    Converting simple CSV to SET commands for Redis

    The above comes from Git 2.17.1 for Windows. The final command-line is:

    tail -n +2 test.csv | awk -F',' '{print "SET \""$1"\" \""$0"\""}' | redis-cli
    

    Please note a couple of assumptions:

    • Strings in CSV are not enclosed in double quotes - if so you'd have to escape them when outputting "SET" commands
    • First line in CSV contains headers and values are separated with a comma.