很简单的需求 找了个轮子 愣是没做好 https://codereview.stackexchange.com/a/78380 我的 csv 只有一列 应该怎么用...
1
binjjam 2017-07-26 21:46:21 +08:00 1
需求很简单,但是你没写啊老哥。比如你是要整个 csv 作为一个字符串存到 redis 里,下次整个取出来;或者说把每行当成一个列表的元素,把 csv 塞到 redis 的 list 里面。
|
3
binjjam 2017-07-27 13:21:08 +08:00 1
@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_行号里。但是这样做很奇怪。。。 上面代码没有考虑任何效率问题,文件不大的话就没有什么所谓 |
4
binjjam 2017-07-27 13:22:15 +08:00 1
|