IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 简单的MYSQL与REDIS储存和OSS保存 -> 正文阅读

[大数据]简单的MYSQL与REDIS储存和OSS保存


前言

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

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

python? ? ? ? ?3.8

oss2 ????????2.15.0

openpyxl? ? ? ? ?3.0.5

mysql ????????0.0.3

redis? ? ? ? ?4.0.2

一.引入库

# coding=utf-8
import oss2
import openpyxl
import MySQLdb
import 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_poet
print(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互相使用的一点自我理解,希望可以帮到更多的正在学习的人

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:11:15  更:2022-02-16 13:13:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:08:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码