数据存储学习笔记

TXT存储

参考《python文档_教程_输入输出_文件对象的方法》、《python文档_标准库_内建函数_open》、《python文档_参考书_复合语句_with》、《python文档_术语_file object

with open('a.txt', 'a', encoding='utf-8') as file:
    file.write('\n'.join(iterable))
    file.write('\n' + '-' * 10 + '\n')

JSON存储

参考《python文档_标准库_json》与《python文档_教程_输入输出_json保存数据结构

参考《静觅_json文件存储

JSON的数据需要用双引号来包围,不能使用单引号

JSON可以由列表、字典两种形式自由组合而成

import json
 
data = [{
    'name': '小李',
    'birthday': '2018-8-1'
}]
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=4, ensure_ascii=False))

CSV存储

参考《python文档_库文件_文件格式_csv

MySQL存储

参考《pymysql文档_用户指引_示例》与《pymysql文档_API参考

参考《MySQL文档

参考《静觅_MySQL存储

扫描二维码关注公众号,回复: 2572034 查看本文章

动态构造的方法如下:

data = {
    'id': '20180801',
    'name': 'lilei',
    'age': 20
}
table = 'students'
keys = ', '.join(data.keys())
values = ', '.join(['%s'] * len(data))

sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, values=values)+','.join([" {key} = %s".format(key=key) for key in data])

try:
    if cursor.execute(sql, tuple(data.values())*2):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()

MongoDB存储

参考《PyMongo文档_辅导》与《PyMongo文档_API_pymongo_集合

参考《MongoDB文档_操作符_查询和映射运算符》与《MongoDB文档

参考《静觅_MongoDB存储

import pymongo
client = pymongo.MongoClient(host='localhost', port=27017)
db = client.test                                               #类似于关系型数据库里选择了test数据库
collection = db.student                                   #类似于关系型数据库里选择了student表
results = collection.find().sort('name', pymongo.ASCENDING).skip(2).limit(2)      #跳过前2个元素,取2个元素
print([result['name'] for result in results])

Redis存储

参考《GitHub_redis-py——readme》(注意是redis-py,不是redispy)

参考《Redis数据库命令

参考《静觅_Redis存储

参考《使用python来操作redis用法详解

参考《查看python下安装的模块帮助及函数帮助(以redis为例)

还可以在终端中使用命令:

pydoc redis                 #在终端中查看模块帮助

pydoc -w redis            #在当前地址生成.html的模块帮助文档

pydoc -p 8888            #在生成.html的基础上在http://localhost:8888/打开

猜你喜欢

转载自blog.csdn.net/weixin_42353109/article/details/81362390