数据存储方式——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

具体使用太多就不写了。