思路

  1. 读取大规模数据需要借助pipeline,速度会更快
  2. 在读取后,需要删除掉异常读取的数据,pipeline不会报错,但是会返回一个type(line).__name__ == "ResponseError"的结果
  3. 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格式数据相关推荐

  1. Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略

    Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 目录 将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 输出 ...

  2. Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换

    Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...

  3. 读取mysql数据库的数据,转为json格式

    # coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...

  4. R语言读取(加载)txt格式数据为dataframe、可视化绘制温度直方图、自定义设置坐标轴名称字体大小

    R语言读取(加载)txt格式数据为dataframe.可视化绘制温度直方图.自定义设置坐标轴名称字体大小 目录 R语言读取(加载)txt格式数据为dataframe.可视化绘制温度直方图.自定义设置坐 ...

  5. R语言读取(加载)txt格式数据为dataframe

    R语言读取(加载)txt格式数据为dataframe 目录 R语言读取(加载)txt格式数据为dataframe R语言是解决什么问题的? R语言读取(加载)txt格式数据为dataframe 安利一 ...

  6. python生成json_如何将Python数组转为Json格式数据并存储?

    在Python中将数组转为Json数据存储时需要用到将json模块中的json.dumps()或者json.dump()方法. ·json.dumps()方法用法 使用json.dumps( )方法将 ...

  7. 用 Python 读取巴菲特最近的持仓数据

    作者:Lemonbit 出品:Python数据之道 用 Python 读取巴菲特最近的持仓数据 各位同学早上好,我是 Lemonbit ,最近关注巴菲特的同学比较多,结合2020年巴菲特致股东信,我也 ...

  8. python Excel数据表格转为HTML网页数据表格

    python Excel数据表格转为HTML网页数据表格 文章目录 准备test数据 Excel转html 准备test数据 首先,准备一个excel.以以下代码为例,在当前目录下生成一个Excel文 ...

  9. win下海康工业相机使用python读取视频并转换成cv格式

    硬件设备:海康威视工业相机CA013-A0UC USB3 环境:win10,python3.7,海康MVS 海康工业相机环境配置(MVS) 配置好环境后可以运行一下MVS和MVS\Developmen ...

最新文章

  1. 【亲测有效】如何下载和安装Resilio BTSync
  2. wordpressPHP实现ajax评论,wordpress无刷新评论:无需插件ajax实现wordpress comment无刷新机制...
  3. 多维多重背包问题_满满干货!背包问题全总结(带c++源码)
  4. Android 通过Uri获取Bitmap对象
  5. 【SpringBoot2 从0开始】开发小技巧 - lombok、devtools、Spring Initailizr
  6. 百度工程师手把手教你实现代码规范检测工具
  7. s5-2 Cpu调度算法
  8. 使用两个队列实现一个栈
  9. NorFlash与NandFlash
  10. yum配置(源配置-光驱,ftp服务器;基本用法)
  11. php ckeditor 使用教程,织梦实现使用默认编辑器ckeditor上传视频功能( 详细)
  12. 解决linux 运行自动化脚本浏览器无法启动问题
  13. 怎么拷贝计算机桌面,电脑怎么拷贝软件
  14. 曲线运动与万有引力公式_高中物理公式:曲线运动公式
  15. 【网站排名软件】如何让网站关键词快速排名到首页
  16. 安卓手机设置指定文件夹下的图片、视频不被相册读取到
  17. python qt是什么_初识Python与Qt
  18. 第一次安装Microsoft SharePoint Protal Server 2003遇到的问题
  19. 好养活的“狗剩儿”和“胖丫儿”。龙芯电脑测评!
  20. vue-awesome-swiper官网文档

热门文章

  1. SPH(光滑粒子流体动力学)流体模拟实现二:SPH算法(4)-算法实现2
  2. oracle mysql分页语句怎么写,sqlserver ,mysql,oracle 语句实现分页
  3. Oracle安装——环境准备
  4. WCF技术剖析之十七:消息(Message)详解(下篇)
  5. row_number() over()排序功能说明
  6. Mysql 添加用户 授权等操作
  7. Jumpserver web界面跳板机
  8. 如何用java实现使用电子邮件控制你的电脑
  9. 零件销售系统的质量属性
  10. .Net 中的反射(反射特性) - Part.3 - (转载)