数据存储方式——JSON、CSV、MongoDB、Redis、MySQL
时间:2022-07-23
本文章向大家介绍数据存储方式——JSON、CSV、MongoDB、Redis、MySQL,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
数据存储方式
数据存储介绍
数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储介质上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。
数据库一般分为两种:关系型数据库、非关系型数据库。
由于一些需要最近看了一部分关于数据库的东西,在这里记录一下。主要记录JSON、CSV、MongoDB、Redis和MySQL。由于后三者具体安装教程有很多,这里就不在叙述,主要是叙述一下自己在做东西时的入门的一些代码。后三者安装包会后回复数据存储获取,尤其是Redis,网上下载速度那叫一个让人着急。
1、JSON
简单使用
import json
#1.字符串和dict list转换
#1.1字符串转dict或list
data='[{"name":"张三","age":23},{"name":"李四","age":24}]'
list_data=json.loads(data)
#1.2dict list转字符串
list=[{"name":"张三","age":23},{"name":"李四","age":24}]
str_data=json.dumps(list)
#2.文件对象和dict list转换
#2.1 dict list转对象 即为写入文件到本地
list=[{"name":"张三","age":23},{"name":"李四","age":24}]
#按照以前学的 应该写成这样 但是这样太麻烦
#str_data=json.dumps(list)
#with open("02json.json","w",encoding="utf-8")as f:
# f.write(str_data)
# 新的写法如下 其中fp是filepath
json.dump(list,open("02new.json","w"))
#2.2 对象转dict list 即为读取文件到计算机内存
fp=open("02new.json","r")
result=json.load(fp)
#为简化代码 可以一步到位
result=json.load(open("02new.json","r"))
print(result)
2、CSV
简单使用
import json
import csv
#需求 json数据转换成csv文件
#1.分别 读json 创建文件csv
json_fp=open("02new.json","r",encoding="utf-8")
csv_fp=open("03new.csv","w",encoding="utf-8")
#2.提出 表头 表内容
data_list=json.load(json_fp)
#若想要手写表头 则可以这样写
sheet_title={"姓名","年龄"}
#sheet_title=data_list[0].keys()
sheet_data=[]
for data in data_list:
sheet_data.append(data.values())
#3.csv写入器
writer=csv.writer(csv_fp)
#4.写入表头
writer.writerow(sheet_title)
#5.写入内容
writer.writerows(sheet_data)
#6.关闭两个文件
json_fp.close()
csv_fp.close()
3、MongoDB
简单使用
#安装pymongo
import pymongo
try:
#1.连接mongodb 创建客户端mongo_py
mongo_py=pymongo.MongoClient()
#2.库和表的名字 有数据会自动建库建表
#数据库
db=mongo_py["six"]
#表 集合
collection=db["stu"]
#上面两句也可以写成下面这样
#collection=mongo_py["six"]["stu"]
#3.插入数据
#one={"name":"张三0","age":203}
#two_many=[
# {"name":"张三1","age":213},
# {"name":"张三2","age":223},
# {"name":"张三3","age":233},
# {"name":"张三4","age":243}
#]
#collection.insert_one(one)#插入一个
#collection.insert_many(two_many)#插入多个
#collection.insert()#插入任意个
#4.删除数据
#collection.delete_one({"age":213})#删除指定条件的一个
#collection.delete_many({"age":203})#删除指定条件的多个
#5.修改数据
#collection.update_one({"age":223},{"$set":{"name":"伯约"}})#可修改一个
#collection.update_many({"name":"伯约"},{"$set":{"age":100}})#修改多个
#6.查询数据
result=collection.find({"age":100})#可查任意个
for i in result:
print(i)
result=collection.find_one({"age":100})#查询一个
print(result)
except Exception as e:
print(e)
finally:
#关闭数据库
mongo_py.close()
4、Redis
简单使用
import redis
#1.连接数据库 redis是键值数据库
client=redis.StrictRedis(host='127.0.0.1',port=6379)
#2.设置key
key='pyone'
#3.增
result=client.set(key,'1')
#4.删
#result=client.delete(key)
#5.改
result=client.set(key,'2')
#6.查
result=client.get(key)
print(result)
5、MySQL
具体使用太多就不写了。
- Hyperledger Fabric Chaincode 开发
- 使用VS Code开发asp.net core
- 以太坊·将自定义数据写入到区块链中
- 使用TensorFlow实现股票价格预测深度学习模型
- 06-移动端开发教程-fullpage框架
- 07-移动端开发教程-移动端视口
- 10-移动端开发教程-移动端事件
- 08-移动端开发教程-移动端适配方案
- 09-移动端开发教程-Sass入门
- 开发者的如何优雅的使用OSX
- Solidity 智能合约开发语言·数据类型
- 以太坊·Rinkeby 测试网络
- TensorFlow强化学习入门(0)——Q-Learning的查找表实现和神经网络实现
- 【云端架构】网站运维之CDN链接鉴权示例入门(PHP)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 七夕面向对象编程,你知道Java有哪些创建对象的方式吗?
- 微信小程序结合腾讯地图获取用户所在城市信息
- 设置事务超时时间的问题及Oracle数据库update和锁
- 超赞,压缩20M文件从30秒到1秒的优化过程
- 超赞,给你推荐20个使用 Java CompletableFuture的例子!
- Java入门编程练习题
- Spark UDF加载外部资源
- Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略
- Facebook面试题: 用递归和迭代手写Array.prototype.flat()
- Kubernetes插件之ip-masq-agent
- 抽丝剥茧Kotlin - 协程
- 使用Java8中的Optional类来消除代码中的null检查
- 通俗讲解从Transformer到BERT模型!
- 「R」使用有限混合模型
- Kaggle经典数据分析项目:泰坦尼克号生存预测!