将csv数据存入Redis

数据类型使用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("导入完成")
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧码文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值