下面是我的脚本,它将位于一台服务器上的csv中的数据插入到另一台服务器上的Redis中。如果它有用..
我没有收到错误但我也没有显示redis方面收到的任何数据。所以我不确定哪个更糟。
#!/opt/python/bin/python
import csv
import redis
from redis import StrictRedis
reader = csv.reader(open("/opt/xyzxyz.csv"))
header = reader.next()
client = redis.StrictRedis(host='XXXXXXXXX.XX.XXX.X.XXX', port=6379, db=0)
for row in reader:
key = "xyzxyz:%s" % (row[0], )
doc = dict(zip(header, row))
client.publish(key, doc)
对上述过程中遗漏的内容有何看法?或者如果在redis方面有什么我没做的话?
这是我第一次与Redis合作,所以对我来说有点新鲜。
答案 0 :(得分:0)
您可能希望使用client.set(key, doc)
而不是client.publish(key, doc)
。
Publish与set的含义完全不同,这更有可能是您想要的。
修改
(感谢接受,我只是编辑它以使其成为您问题的实际解决方案)
client.publish
的第一个参数是您要发布的频道。在您的情况下,您将发布到'csv_filename:first_entry_of_row when really you want to be publishing to just
csv_filename`。
尝试将行key = "xyzxyz:%s" % (row[0],)
更改为key = "xyzxyz"
。
答案 1 :(得分:0)
请注意以下两点:
192.168.1.100
,10.0.0.1
,your_ip,也可以只注释该行。