python 读取redis数据后转为dataframe格式数据
思路
- 读取大规模数据需要借助
pipeline
,速度会更快 - 在读取后,需要删除掉异常读取的数据,pipeline不会报错,但是会返回一个
type(line).__name__ == "ResponseError"
的结果 - redis读取的数据是byte格式,需要整理为str格式
示例
import redis
import pandas as pd
from tqdm import tqdmpool = redis.ConnectionPool(host='127.0.0.1', db=5) # 实现一个连接池,这里选择第5个db
redis_cli = redis.Redis(connection_pool=pool) # 创建连接redis的客户端# 这里添加一些数据哈:
redis_cli.hmset("value1", {"k1": "v1", "k2": "v2", "k3": "v3"})
redis_cli.expire('value1', 30) # 30秒后从redis中删除
redis_cli.hmset("value2", {"k1": "v1", "k2": "v2", "k3": "v3"})
redis_cli.expire('value2', 30) # 30秒后从redis中删除
redis_cli.hmset("value3", {"k1": "v1", "k2": "v2", "k3": "v3"})
redis_cli.expire('value3', 30) # 30秒后从redis中删除
redis_cli.set('奇奇怪怪的key', '奇奇怪怪的value')
redis_cli.expire('奇奇怪怪的key', 30) # 30秒后从redis中删除# 开始取数据
pipe = redis_cli.pipeline() # 定义一个管道,加速提取
key_list = []
keys = redis_cli.keys() # 得到所有的key
for key in keys:key_list.append(key)pipe.hgetall(key) # 把pipe需要执行的操作# 可以调试使用redis_cli.hgetall(随便一个key),测试一下看看是不是想要的结果
value_list = pipe.execute(raise_on_error=False)# 开始删除读取异常的数据
drop_index = []
for i, line in tqdm(enumerate(value_list)):if type(line).__name__ == "ResponseError": # 把错误的内容剔除出去drop_index.append(i)continueelse:value_list[i] = {k.decode('utf8'): v.decode('utf8') for k, v in line.items()} # 把byte的数据转为str数据
[value_list.pop(index) for index in drop_index]# 直接构造dataframe
df = pd.DataFrame(value_list)
print('a')
python 读取redis数据后转为dataframe格式数据相关推荐
- Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略
Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 目录 将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 输出 ...
- Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换
Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...
- 读取mysql数据库的数据,转为json格式
# coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...
- R语言读取(加载)txt格式数据为dataframe、可视化绘制温度直方图、自定义设置坐标轴名称字体大小
R语言读取(加载)txt格式数据为dataframe.可视化绘制温度直方图.自定义设置坐标轴名称字体大小 目录 R语言读取(加载)txt格式数据为dataframe.可视化绘制温度直方图.自定义设置坐 ...
- R语言读取(加载)txt格式数据为dataframe
R语言读取(加载)txt格式数据为dataframe 目录 R语言读取(加载)txt格式数据为dataframe R语言是解决什么问题的? R语言读取(加载)txt格式数据为dataframe 安利一 ...
- python生成json_如何将Python数组转为Json格式数据并存储?
在Python中将数组转为Json数据存储时需要用到将json模块中的json.dumps()或者json.dump()方法. ·json.dumps()方法用法 使用json.dumps( )方法将 ...
- 用 Python 读取巴菲特最近的持仓数据
作者:Lemonbit 出品:Python数据之道 用 Python 读取巴菲特最近的持仓数据 各位同学早上好,我是 Lemonbit ,最近关注巴菲特的同学比较多,结合2020年巴菲特致股东信,我也 ...
- python Excel数据表格转为HTML网页数据表格
python Excel数据表格转为HTML网页数据表格 文章目录 准备test数据 Excel转html 准备test数据 首先,准备一个excel.以以下代码为例,在当前目录下生成一个Excel文 ...
- win下海康工业相机使用python读取视频并转换成cv格式
硬件设备:海康威视工业相机CA013-A0UC USB3 环境:win10,python3.7,海康MVS 海康工业相机环境配置(MVS) 配置好环境后可以运行一下MVS和MVS\Developmen ...
最新文章
- 【亲测有效】如何下载和安装Resilio BTSync
- wordpressPHP实现ajax评论,wordpress无刷新评论:无需插件ajax实现wordpress comment无刷新机制...
- 多维多重背包问题_满满干货!背包问题全总结(带c++源码)
- Android 通过Uri获取Bitmap对象
- 【SpringBoot2 从0开始】开发小技巧 - lombok、devtools、Spring Initailizr
- 百度工程师手把手教你实现代码规范检测工具
- s5-2 Cpu调度算法
- 使用两个队列实现一个栈
- NorFlash与NandFlash
- yum配置(源配置-光驱,ftp服务器;基本用法)
- php ckeditor 使用教程,织梦实现使用默认编辑器ckeditor上传视频功能( 详细)
- 解决linux 运行自动化脚本浏览器无法启动问题
- 怎么拷贝计算机桌面,电脑怎么拷贝软件
- 曲线运动与万有引力公式_高中物理公式:曲线运动公式
- 【网站排名软件】如何让网站关键词快速排名到首页
- 安卓手机设置指定文件夹下的图片、视频不被相册读取到
- python qt是什么_初识Python与Qt
- 第一次安装Microsoft SharePoint Protal Server 2003遇到的问题
- 好养活的“狗剩儿”和“胖丫儿”。龙芯电脑测评!
- vue-awesome-swiper官网文档
热门文章
- SPH(光滑粒子流体动力学)流体模拟实现二:SPH算法(4)-算法实现2
- oracle mysql分页语句怎么写,sqlserver ,mysql,oracle 语句实现分页
- Oracle安装——环境准备
- WCF技术剖析之十七:消息(Message)详解(下篇)
- row_number() over()排序功能说明
- Mysql 添加用户 授权等操作
- Jumpserver web界面跳板机
- 如何用java实现使用电子邮件控制你的电脑
- 零件销售系统的质量属性
- .Net 中的反射(反射特性) - Part.3 - (转载)