【问题标题】:Load CSV file in Redis using Redis-cli on Windows在 Windows 上使用 Redis-cli 在 Redis 中加载 CSV 文件
【发布时间】:2018-11-15 13:54:00
【问题描述】:

我经历了how to import a ".csv " data-file into the Redis database 之类的问题,经过大量网络搜索后决定在这里提出一个问题。

我有一个employee.csv 文件并希望使用redis-cli 导入该文件。我使用的是Windows版本3.2.100的Redis服务器。

员工.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"

我也关注了 url:https://gist.github.com/arsperger/6f246f21279edf3cd03ba2bee19daaefhttps://www.alibabacloud.com/help/doc-detail/26357.htm,但是 cat 不支持到 Windows 版本。

接下来我可以尝试什么?

【问题讨论】:

  • 您可以使用 Cygwin 或使用特定工具的 Windows 端口,例如“awk” - stackoverflow.com/questions/21927944/…
  • @ Tomasz Poradowski - 我使用了 GIT bash,但它似乎根本不起作用。 cygwin 似乎也不起作用。你能试着指导我们吗?非常感谢先生。

标签: java redis redis-server


【解决方案1】:

例如,当您使用提到的“Git Bash”时,您可以执行以下操作(最后一步输出命令,但它们也可以通过管道传输到redis-cli

以上来自 Git 2.17.1 for Windows。最后的命令行是:

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

请注意几个假设:

  • CSV 中的字符串不包含在双引号中 - 如果是这样,您必须在输出“SET”命令时对其进行转义
  • CSV 中的第一行包含标题,值用逗号分隔。

【讨论】:

  • 我们遇到了错误。 Bash 永远无法理解 redis-cli.exe $ tail -n +2 test.csv | awk -F',' '{print "SET \""$1"\" \""$0"\""}' | redis-cli bash: redis-cli: command not found
  • @PAA 要么使用完整路径,如 /c/Program\ Files/Redis/redis-cli,要么通过 export PATH=$PATH:/c/Program\ Files/Redis 更改 PATH 变量
猜你喜欢
  • 2019-02-24
  • 1970-01-01
  • 2017-10-11
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2013-07-16
  • 2021-09-23
相关资源
最近更新 更多