数据类型使用hash
将csv中的数据存储到redis中
第一步:启动redis服务并且连接
import redis
r = redis.Redis(host='localhost',port=6379,decode_responses=True)
第二步:遍历csv文件
with open("filepath",encoding="gbk") as f:
reader = csv.DictReader(f)
for row in reader:
print(row)
第三步:向redis中传送数据
数据结构使用hash类型,将MMSI、Lat_d、Lon_d、Speed、UnixTime以对象的方式传入到redis中
HMSET key field value [field value ...]
with open("filepath",encoding="gbk") as f:
reader = csv.DictReader(f)
for row in reader:
#时间戳作为键
key = time.time()
MMSI = row["MMSI"]
Speed = row["Speed"]
Lat_d = row["Lat_d"]
Lon_d = row[Lon_d]
UnixTime = row[UnixTime
r.hmset(key,{
"MMSI":MMSI,
"Speed":Speed,
"Lat_d":Lat_d,
"Lon_d":Lon_d,
"UnixTime":UnixTime
})
print(MMSI,Speed,Lat_d,Lon_d,UnixTime)
print("导入完成")
封装成方法
Redis连接方法
def RedisConnect():
global r
r = redis.Redis(host='localhost',port=6379,decode_responses=True)
csv数据传至Redis中
filepath:csv路径
encodeway:csv的编码方式
def TransDataToRedis(filepath,encodeway):
with open(filepath,encoding=encodeway) as f:
reader = csv.DictReader(f)
for row in reader:
#时间戳作为键
key = time.time()
MMSI = row["MMSI"]
Speed = row["Speed"]
Lat_d = row["Lat_d"]
Lon_d = row[Lon_d]
UnixTime = row[UnixTime
r.hmset(key,{
"MMSI":MMSI,
"Speed":Speed,
"Lat_d":Lat_d,
"Lon_d":Lon_d,
"UnixTime":UnixTime
})
print(MMSI,Speed,Lat_d,Lon_d,UnixTime)
print("导入完成")