摘要:如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务。

本文分享自华为云社区《Python将JSON格式文件导入 redis,多种方法》,作者: 梦想橡皮擦 。

在导入前需要先确定你已经安装 Redis,并且可以启动相关服务。

windows 上启动 redis 的命令是 redis-server.exe redis.windows.conf,效果图如下:

使用 Python 连接 redis

如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务,实现步骤如下所示。

安装 redis 与 导入

安装 redis 库

pip install redis

导入 redis 库

import redis

使用代码连接 Redis

通过 redis 库的 Redis 类连接 Redis 服务器。

import redis
r = redis.Redis(host='localhost', port=6379, db=0)
print(r)

连接到本地 Redis 服务器,并使用默认端口 6379,连接到数据库 0,这里建议使用 redis desktop 工具同步进行连接测试。

写入键值

连接成功后,可以使用 Redis 的命令来操作数据,例如设置键值对:

import redis
r = redis.Redis(host='localhost', port=6379, db=15)
r.set('name', '梦想橡皮擦')
print(r)

可以在可视化工具中查看到数据已经写入。

获取键值

r.get('name')

基础准备好,接下来就将 JSON 文件一次性的写入到 redis 中。

操作 JSON 文件写入 redis

首先使用 json.load() 方法读取 JSON 文件,首先看一下 JSON 文件内容。

JSON 最外层是一个列表,其中每一个元素都是对象,我们需要将每个对象都插入到 redis 中,形成 使 Redis 的哈希表。

完整代码如下所示:

import redis
import json
r = redis.Redis(host='localhost', port=6379, db=15)
with open('travel.json', 'r',encoding='utf-8') as file:
data = json.load(file)
for item in data:
r.lpush('travel', json.dumps(item))

先看一下插入之后的结果。

上述代码是将 JSON 文件中的每一项都转换为字符串,然后以 lpush 方式插入到队列的左侧,也可以使用 rpush 进行插入。

如果希望以键值对形式进行插入,需要使用 hset() 方法,参考代码如下所示。

import redis
import json
r = redis.Redis(host='localhost', port=6379, db=15)
with open('travel.json', 'r',encoding='utf-8') as file:
data = json.load(file)
for index,item in enumerate(data):
r.hset('travel', index, json.dumps(item))

可以看到此时 redis 中存储了 key 和 value 。

r.hset(name, key, value) 方法是 Redis 哈希表命令之一,用于将指定的键和值添加到 Redis 哈希表中。

  • 参数说明如下:
    • name:哈希表的名称。
    • key:要添加的键。
    • value:要添加的值。

它返回一个整数,表示添加的键值对是否是该哈希表的新键值对。

如果返回 1,表示新键值对已添加;

如果返回 0,表示键已经存在,并且值已被更新。

点击关注,第一时间了解华为云新鲜技术~

如何通过Python将JSON格式文件导入redis?的更多相关文章

  1. python 生成json格式文件,并存储到手机上

    上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- import json import os import random "" ...

  2. (python)json 格式文件

    Json 数据格式: python 的内置模块: json 格式数据声明只能有一层顶级层(字典格式,可以是任意对象,如字符串,列表等,但实际工作中一般为字典对象,) json 对象本质是一个字符串对象 ...

  3. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

    前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...

  4. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  5. python 使用json格式转换

    什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...

  6. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  7. java导出json格式文件

    生成json文件代码: import java.io.File; import java.io.FileWriter; import java.io.Writer; public class Crea ...

  8. 简单创建json格式文件

    简单创建json格式文件 核心就两点: addProperty 添加属性(也就是加键值对) add是添加 另外的object对象 然后直接toString()输出 核心代码如下; public cla ...

  9. VS调试时JSON格式文件无法加载

    VS调试时JSON格式文件无法加载 报错: 解决:在项目中的web.config中进行配置,configuration节中添加以下部份: <system.webServer> <st ...

  10. Python处理json格式的数据文件(一些坑、一些疑惑)

    这里主要说最近遇到的一个问题,不过目前只是换了一种思路先解决了,脑子里仍然有疑惑,只能怪自己太菜. 最近要把以前爬的数据用一下了,先简单的过滤一下,以前用scrapy存数据的时候为了省事也为了用一下它 ...

随机推荐

  1. 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)

    视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性.该技术在视频补全.对象移除.视频恢复等领域有广泛应用.近年来,两种突出的 ...

  2. CSS色域、色彩空间、CSS Color 4新标准

    引言 近期,三大主流浏览器引擎均发布最新版本,支持W3C的CSS Color 4标准,包含新的取色方法color()和相应语法,可展示更多的色域及色彩空间,这意味着web端能展示更丰富更高清的色彩.虽 ...

  3. 【Qt6】列表模型——几个便捷的列表类型

    前面一些文章,老周简单介绍了在Qt 中使用列表模型的方法.很明显,使用 Item Model 在许多时候还是挺麻烦的--要先建模型,再放数据,最后才构建视图.为了简化这些骚操作,Qt 提供了几个便捷类 ...

  4. xtrabackup 2.4 的介绍与使用

    抄袭转载的太多,请认准原文链接:xtrabackup的介绍与使用 前言 在网上找到教程都是复制粘贴抄袭的,而且还是陈旧资料,不得不说,当前中文互联网环境真是每况愈下. 如果你在网上找 xtraback ...

  5. 小景的Dba之路--压力测试和Oracle数据库缓存

    小景最近在做系统查询接口的压测相关的工作,其中涉及到了查询接口的数据库缓存相关的内容,在这里做一个汇总和思维发散,顺便简单说下自己的心得: 针对系统的查询接口,首次压测执行的时候TPS较低,平均响应时 ...

  6. R!!C!!E!!

    打开页面只有一句话提示,提示有敏感信息泄露 这里的话使用dirresearch扫描网站结构 在这里我们可以看到响应码正常且有反应的多数都是.git文件 这里我们使用Git源码下载的脚本下载Git源码 ...

  7. cookie、session、web storage

    cookie与session的区别 首先,使用cookie和session的目的都是为了跟踪记录用户状态,因为http协议是无状态的协议,而某些场景服务端需要记录用户的状态,如购物车,需要来识别具体的 ...

  8. Sealos 云操作系统一键集成 runwasi,解锁 Wasm 的无限潜力

    WebAssembly (通常缩写为 Wasm) 是一种为网络浏览器设计的低级编程语言.它旨在提供一种比传统的 JavaScript 更快.更高效的方式来执行代码,以弥补 JavaScript 在性能 ...

  9. 开源一套快速部署程序的工具(CI/CD)

    随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具 Vela,只要填写一个git地址.编译命令等简单信息,就能自动完成程序的部署. Vela 特性: 代码可在任意一台电脑自动完成编译, ...

  10. 写代码不用"if"行不行,曾经的反 if 运动

    如果在IT行业的时间够长的话,可能还记得大约10几年前,设计模式风靡一时的时候,有过一段反 "if" 的运动. 所谓的反"if"运动,其实是夸大了"i ...