hi,欢迎访问本站!
当前位置: 首页系统/服务器正文

简单的MYSQL与REDIS储存和OSS保存

墨初 系统/服务器 1阅读

前言

本文浅用MYSQL和REDIS储存信息,然后保存至XLSL格式文件内

本次实验使用的第三方库以及版本信息如下:

python         3.8

oss2         2.15.0

openpyxl         3.0.5

mysql         0.0.3

redis         4.0.2

一.引入库 # coding=utf-8import oss2import openpyxlimport MySQLdbimport redis

其中 # coding=utf-8 为中文编码要求,在所有代码前加上,确保代码里面的中文字符也可以识别

二.MYSQL库的使用与储存

1.MYSQL库的连接 #mysql连接conn = MySQLdb.connect("192.168.xxx.xxx", "xxx", "xxx", db='xxx',charset='utf8')cur = conn.cursor()

连接mysql数据库前请确保mysql服务开启,而且允许远程登录,具体教程参考:

https://jingyan.baidu.com/article/647f01151bbf617f2148a8d8.html

然后connect连接选项中

第一个参数为mysql数据库所在IP地址

第二个参数为mysql数据库用户名

第三个参数为mysql数据库密码

第四个参数为连接mysql数据库的名字(*如没有需要在mysql中create一个)

第五个参数为中文识别符

如经常出现计算机积极拒绝访问可以自己上网搜索答案,错误方法不固定,都尝试一下

2.向MYSQL中写入数据 #创建表格# sql="""create table poet (# title VARCHAR(30) ,# name VARCHAR(20),# content VARCHAR(1000)# )"""# cur.execute(sql)#插入数据# cur.execute("insert into poet (title,name,content) values('Bird collection','Tagore','Let life be beautiful like summer flowers')")# conn.commit()#查询数据sql = "select * from poet"#执行SQL语句cur.execute(sql)# 获取所有记录列表results = cur.fetchall()for row in results: title = row[0] name = row[1] content = row[2] # 打印结果 # print (title, name, content)#删除表格# cur.execute("drop table poet")# conn.commit()

这里展示了如何使用python向mysql中插入一段内容,这里以泰戈尔的诗句为例子。

*这里注释掉是因为防止重复插入相同的数据,污染数据库内容*

3.xlsx表格的创建与MYSQL数据的写入 #创建xlsx表格# wb = openpyxl.Workbook()#此处为创建页,如sheet1等# wb.create_sheet('xxx')#此处为保存到指定的文件中# wb.save('xxx.xlsx')#xlsx表格写入数据# wb = openpyxl.load_workbook('xxx.xlsx')# mysheet = wb['xxx']# mysheet['A1'] = 'title:'# mysheet['A2'] = 'name:'# mysheet['A3'] = 'content:'#mysql数据写入# results = cur.fetchall()# for row in results:# mysheet['B1'] = row[0]# mysheet['B2'] = row[1]# mysheet['B3'] = row[2]# wb.save('xxx.xlsx')

 此处的xxx均为自己数值,需要自己看情况处理,没有的就创建

由于学识尚浅,此处的操作均为对单元格单个格子进行操作,可以自行改善

4.REDIS库的连接与简单写入 #redis连接conn = redis.Redis(host='192.168.xxx.xxx',password=xxx, port=xxx)# conn.set('poet2', 'death like autumn leaves')# print(str(conn.get('poet2')).split("'")[1])

连接redis数据库前请确保redis服务开启,而且允许远程登录,具体教程参考:

https://www.cnblogs.com/liuxiutianxia/p/11057120.html

然后connect连接选项中

第一个参数为redis数据库所在IP地址

第二个参数为redis数据库密码

第三个参数为redis数据库端口号

同时,计算机积极拒绝访问的方式也是多种多样,需要自行排查。

5.REDIS库数据的写出 #redis数据写出wb = openpyxl.load_workbook('xxx.xlsx')mysheet = wb['poet1']new_poet = str(mysheet.cell(3, 2).value)+' and '+str(conn.get('poet2')).split("'")[1]mysheet['B3']= new_poetprint(new_poet)wb.save('xxx.xlsx')

 其中的数据写入文本文档是符合了自己的数据要求,如需要其他数据的写入写出,需要自行的修改,本文只展示了简单的实现

6.OSS的保存 #OSS信息#根据自己的oss账号的信息填写下列信息AccessKeyID = 'xxx'AccessKeySecret = 'xxx'EndPoint = 'xxx'BucketName = 'xxx'#Oss上传def Oss(img_name, img_path): auth = oss2.Auth(AccessKeyID, AccessKeySecret) bucket = oss2.Bucket(auth, EndPoint, BucketName) bucket.put_object_from_file(img_name, img_path)if __name__=="__main__": #此处为需要上传的文件地址 img_path = 'xxx' #此处为需要上传的文件的名字 img_name = 'xxx' Oss(img_name, img_path)

 此处使用的是阿里云的OSS储存,具体使用方法可以上官网的帮助手册里面可以查询:

https://help.aliyun.com/document_detail/31893.html

自此就完成了将MYSQL和REDIS的数据保存上传到OSS中

总结

以上为新手对MYSQL,REDIS,OSS,XLSL互相使用的一点自我理解,希望可以帮到更多的正在学习的人

标签:
声明:无特别说明,转载请标明本文来源!