下面是如何将CSV文件导入Redis数据库
应该这样做,做它将被删除明天'
import redis
from csv import reader
import csv
# password='redispw' falls geschützt, port und host ändern wenn auf Linux läuft
db = redis.Redis(host= 'localhost', port=49153, password='redispw')
with open('band.csv', newline='\n', encoding='utf-8') as csvfile:
# delimiter=',' wenn durch komma getrennt wenn durch Tab dann ='\t'
bandreader = reader(csvfile, delimiter='\t')
#bandreader = csv.DictReader(csvfile)
for row in bandreader:
# Setzten des Keys was drinne stehen soll Bsp: id oder Name als key
redisKey = row[1]
# Was soll alles in der Value stehen ist so ne art zsmfassung mit
redisVal = "member: " + row[2] + ", group: " + row[3] + ", role: " + row[4] + ", start: " + row[5] + ", end:" + row[6]
print(f"rediskey = { redisKey }, redisVal = { redisVal }\n")
# man kann auch set benutzen aber hier sadd und mit smembers kann abgefragt werden
db.sadd(redisKey, redisVal)
'
1条答案
按热度按时间ars1skjm1#
你的问题措辞不正确。你不想导入一个csv文件到redis中,你想从一个csv文件中设置键值到你的redis中。
在这种情况下,您的设计应该有所不同,为了避免解耦,使用一个方法读取csv并返回字典,如您所注意到的
row[1]
,row[2]
是您的值。一旦你返回了字典,你可以像这样迭代它: