@
shallyy 我觉得还是给下 CSV 内容的部分示例,以及需要处理成什么样
比如有个单列的 CSV 文件,内容大概是
1.content1
2.content1
3.content1
4.content1
需要将每行存为 redis 的 list,虽然 CSV 是单列,但是每行文件是否要以什么分割符切割成多个项?还是单纯把每行存为 1 个只有单个元素的 list ?那么 list 的键名是啥?
像上述 CSV 内容如果单纯每行当成一个 redis 的 list
#coding=u8
import redis
REDIS_HOST = 'localhost'
REDIS_PASS = 'youpasswd' #如果没密码的话,这里是空字符串
REDIS_PORT = 6379
REDIS_DB = 0
redis_conn = redis.StrictRedis(host=REDIS_HOST, password=REDIS_PASS, port=REDIS_PORT, db=REDIS_DB)
cache_prefix = 'csv' #redis key 前缀
csv_file = '/path/to/file' #CSV 文件的位置
with open(csv_file) as workfile:
for line_num, line in enumerate(workfile, 1):
line = line.strip()
cache_key = '%s_%s' % (cache_prefix, line_num)
redis_conn.lpush(cache_key, line)
这样就把 csv 每行存到 redis 0 号 db 的 csv_行号里。但是这样做很奇怪。。。
上面代码没有考虑任何效率问题,文件不大的话就没有什么所谓