当前位置:   article > 正文

【腾讯云TDSQL-C Serverless产品体验】使用 Python 向 TDSQL-C-添加读取数据-实现词云图_python连接tdsql

python连接tdsql

目录

前言

一,TDSQL-C Serverless产品介绍

二,学到什么

三,准备阶段

 1.申请TDSQL-C数据库(第一种方式)

1.1 进行注册登录

1.2点击红圈进行选购

1.3选购页面的配置

1.4基础信息填写

2.申请TDSQL-C数据库(第二种方式成为测试者)

2.1如何成为测试者

2.2成为测试者的福利

福利1:

福利2: 

2.3测评方向

四,进行数据准备

五,使用PyCharm创建项目工程

六,连接TDSQL-C数据库

七,创建数据库

1.如图点击登录​编辑

2.点击 新建,然后点击新建库​编辑

3.点击新建数据库​编辑

4.定义自己的数据库名​编辑

5.出现自己定义的数据库名后​编辑

八,对制作词云图相关代码的讲解

(1).先导入库

(2).MySql数据库连接配置

(3)创建读取excel文件

(4)根据excel文件名创建数据库表名

(5)将读取的excel数据保存到数据库对应的表中

(6)读取数据库中存入的数据

(7)执行主函数,并生成词云图

(8)完整代码

九,词云效果显示

1.运行代码后的效果展示​编辑

 2.数据库的表展示​编辑

十,销毁数据库

十一,总结


前言

   自己是一位准大二学生,最近在学习数据库的相关知识,偶然间看到这个活动,决心参加并提高自己,文章如果有什么不好之处,忘各位勿喷。可以在评论区留言,给我一些建议,我会虚心接受,并改进文章。

   今天我给大家分享一下我对腾讯云TDSQL-C Serverless产品的体验流程以及体验过程的感受。腾讯云的TDSQL-C Serverless产品简直是互联网开发者的福音!

一,TDSQL-C Serverless产品介绍

     让我们来谈谈什么是TDSQL-C Serverless。这是一个基于云的关系型数据库,它“Serverless”为特点,意味着我无需担心硬件资源的配置和管理。它可以根据实际需求自动调整容量,并根据数据库的负载情况按需分配资源。对于我们来说,现在可以专注于开发应用,而不用担心数据库的管理。

TDSQL-C是腾讯云自研的新一代云原生关系型数据库,它整合了传统数据库、云计算和新硬件技术的优势。主要特点包括:

  1. 兼容性:TDSQL-C完全兼容MySQL,用户可以无缝迁移已有的MySQL应用到TDSQL-C上,无需修改代码。

  2. 弹性和高性能:TDSQL-C具备极致的弹性和高性能,能够支持超过百万的QPS(每秒查询率)。

  3. 高可用和高可靠:TDSQL-C通过分布式架构和自动数据备份机制,实现了高可用性和高可靠性,确保数据的安全和可靠性

  4. 安全性:TDSQL-C提供了多种安全措施,包括连接加密、访问控制、安全审计等,保障数据的安全性。

不仅如此,TDSQL-C还实现了PB级的海量分布式智能存储和Serverless秒级伸缩功能,为企业加速完成数字化转型提供了强大的支持。

     针对Serverless服务,它是TDSQL-C MySQL版的无服务器架构版本,完全基于Serverless架构,提供按实际计算和存储资源使用量计费的方式,通俗来说就是和水电费一样,用多少花多少钱,这意味着我们只需按实际使用的资源付费,避免了闲置资源的浪费,同时也使更多人受益。

二,学到什么

1.如何申请TDSQL-C数据库:注册腾讯云账号及准备工作,进入腾讯云控制台。

2.如何进行配置TDSQL-C数据库:选购与页面管理等相关内容,以及如何参加这个测评,获取测评资格。

3.进行项目配置:链接并配置TDSQL-C数据库。

4.对制作词云图相关代码的讲解:创建读取excel文件,根据excel文件名创建数据库表名,将读取的excel 数据保存到数据库对应的表中,读取数据库中存入的数据,执行主函数,并生成词云图等python代码的讲解。

5.对数据库的应用以及我自己的个人心得

三,准备阶段

 1.申请TDSQL-C数据库(第一种方式)

   1.1 进行注册登录

第一步点击进入

TDSQL-C MySQL 版_云原生关系型数据库_企业级云原生数据库-腾讯云 (tencent.com)https://cloud.tencent.com/product/cynosdb

                                                                    接下来

                         点击注册后自行选择自己的方式进行注册并登录 

1.2点击红圈进行选购

 1.3选购页面的配置

我的配置如下:

 

 按照图片中的信息选择即可

1.4基础信息填写

这里我们需要的操作有三个,一个是输入自己的密码,第二个是选择表名大小写不敏感,最后一个就是勾选同意协议

配置完后我们点击右下角的立即购买,会弹出一个窗口,我们继续点击红圈

                                 购买完后会出现弹出,我们点击前往管理界面

进入管理页面后,往下划,找到读写实例点击开启外部

创建并授权

ok,配置到这里就全部结束了

2.申请TDSQL-C数据库(第二种方式成为测试者)

2.1如何成为测试者

      成为测试者,说是白嫖,可以直接进行测试,也不用进行上述的操作,就可以开始使用了,不如说是一种互利共赢把,相信在产品测评阶段,公司需要我们测试者对其产品的测试并给出宝贵意见,很感谢有这次活动能给我一个学习机会

下面是参加本次活动的链接:

CSDNhttps://marketing.csdn.net/p/0b7f2a95bede3da9f4f9c20813988e69

 点击立即报名后,会进行填写表单,这里学生也可以报名,公司那栏填个无。

         填写完成后会出现一个二维码,因为平台不让显示二维码,我就不放出来了。 

进入群里后,发这句话      @Lear  测试TDSQL-C的数据库配置   

她回复后,然后添加Lear,私聊就会发给你配置好的测试数据库信息

这个我就不放出来了,我还要用。具体怎么使用在后面会提到 

2.2成为测试者的福利
福利1:

福利2: 

                     可以进行配套进行系统学习和对数据库进行使用,也可以提高自己。 

                                                          这里把链接给大家

腾讯云开发者社区-腾讯云腾讯云开发者社区是腾讯云官方开发者社区,致力于打造开发者的技术分享型社区。提供专栏,问答,沙龙等产品和服务,汇聚海量精品云计算使用和开发经验,致力于帮助开发者快速成长与发展,营造开放的云计算技术生态圈。https://cloud.tencent.com/developer/learning/camp/6

                      其实福利什么的并不重要,重要的是给了小白一个学习的机会。

2.3测评方向

这里不是我不放出来,是我不清楚会不会违规,这个在进入群后,群公告会有。

四,进行数据准备

实现词云图所需数据如下:

1.词频

2.要展示词云形状的背景图

3.词云所使用的字体文件

下载地址:

词频

https://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/%E8%AF%8D%E9%A2%91.ziphttps://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/%E8%AF%8D%E9%A2%91.zip背景图

https://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/background.PNG.ziphttps://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/background.PNG.zip字体

https://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/PingFangBold.ttfhttps://tdsql-c-1253910586.cos.ap-nanjing.myqcloud.com/PingFangBold.ttf

五,使用PyCharm创建项目工程

这里按照图中创建好项目和文件夹,将下载的内容放入对应的文件夹

对文件夹的作用进行解读:

  1. 词云图文件夹可以用来做为生成图片的存储路径
  2. 词频是数据词云图数据的来源
  3. 字体文件则是词云图的中以什么字体展现
  4. background.png 作为词云图背景图
  5. sever.py 为代码部分

六,连接TDSQL-C数据库

找到读写实例

 对应将信息填入即可,成为测试者的人员,可以直接将发给你的配置信息填写进去就ok了。

当然数据库只填写发给你的其中一个就行。

七,创建数据库

1.如图点击登录

                                     2.点击 新建,然后点击新建库

 3.点击新建数据库

 4.定义自己的数据库名

 5.出现自己定义的数据库名后

ok,到这里,创建数据库就结束了 ,将创建的数据库名填写到连接配置的datebase部分

八,对制作词云图相关代码的讲解

接下来我将解的代码是按顺序进行的,最后只需要将其组合,即可成为完整的代码。

如果只是进行测试的话,只需要改动一小部分代码即可,我会用蓝色字在代码解读中标出来

(1).先导入库

 库的版本其中wordcloud库如果无法安装可以是使用最新版本

(2).MySql数据库连接配置

这里大家自行填入,代码如下:

  1. # MySql数据库连接配置
  2. db_config = {
  3. 'host': "", # 主机名
  4. 'port': , # 端口
  5. 'user': "", # 账户
  6. 'password': "", # 密码
  7. 'database': '', # 这里需要创建自己的数据库创建的数据库名

(3)创建读取excel文件

代码如下:

  1. # 创建读取excel文件的函数
  2. def excelTomysql():
  3. path = '词频/词频' # 文件所在文件夹
  4. files = [path + "/" + i for i in os.listdir(path)] # 获取文件夹下的文件名,并拼接完整路径
  5. for file_path in files:
  6. print(file_path)
  7. filename = os.path.basename(file_path)
  8. table_name = os.path.splitext(filename)[0] # 使用文件名作为表名,去除文件扩展名
  9. # 使用pandas库读取Excel文件
  10. data = pd.read_excel(file_path, engine="openpyxl", header=0) # 假设第一行是列名
  11. columns = {col: "VARCHAR(255)" for col in data.columns} # 动态生成列名和数据类型
  12. create_table(table_name, columns) # 创建表
  13. save_to_mysql(data, table_name) # 将数据保存到MySQL数据库中,并使用文件名作为表名
  14. print(filename + ' uploaded and saved to MySQL successfully')
'
运行

重要代码部分解读:

  1. path = '词频/词频':设置文件夹路径,假设 Excel 文件都存储在名为"词频"的文件夹中。(注意这段代码只需要将这部分改为你的存放词频的文件夹路径

  2. files = [path + "/" + i for i in os.listdir(path)]:使用os.listdir()获取文件夹中的所有文件名,并通过列表推导式构建完整的文件路径列表。

  3. for file_path in files::对每个文件进行迭代。

  4. print(file_path):打印当前文件的完整路径。

  5. filename = os.path.basename(file_path):使用os.path.basename()获取文件名(包括扩展名)。

  6. table_name = os.path.splitext(filename)[0]:使用os.path.splitext()获取文件的扩展名,并通过索引取得文件名,去除文件扩展名,作为表名。

  7. data = pd.read_excel(file_path, engine="openpyxl", header=0):使用 pandas 库的read_excel()方法读取 Excel 文件,指定引擎为"openpyxl",header参数指定第一行为列名。

  8. columns = {col: "VARCHAR(255)" for col in data.columns}:根据数据的列名动态生成一个字典columns,其中键为列名,值为"VARCHAR(255)",表示列的数据类型为字符串。

  9. create_table(table_name, columns):调用一个名为create_table()的函数,用于创建一个表,传递表名和列名数据作为参数。

  10. save_to_mysql(data, table_name):调用一个名为save_to_mysql()的函数,用于将数据保存到 MySQL 数据库中,传递数据和表名作为参数。

  11. print(filename + ' uploaded and saved to MySQL successfully'):打印上传并成功保存到 MySQL 数据库的文件名。

(4)根据excel文件名创建数据库表名

代码入下:

  1. # 根据excel文件名创建数据库表名
  2. def create_table(table_name, columns):
  3. # 建立MySQL数据库连接
  4. conn = pymysql.connect(**db_config)
  5. cursor = conn.cursor()
  6. # 组装创建表的 SQL 查询语句
  7. query = f"CREATE TABLE IF NOT EXISTS {table_name} ("
  8. for col_name, col_type in columns.items():
  9. query += f"{col_name} {col_type}, "
  10. query = query.rstrip(", ") # 去除最后一个逗号和空格
  11. query += ")"
  12. # 执行创建表的操作
  13. cursor.execute(query)
  14. # 提交事务并关闭连接
  15. conn.commit()
  16. cursor.close()
  17. conn.close()
'
运行

重要代码部分解读:

  1. 建立MySQL数据库连接,通过pymysql库的connect()方法和**db_config参数来连接数据库。

  2. 创建一个游标对象cursor,用于执行 SQL 语句。

  3. 组装创建表的 SQL 查询语句。使用f-string将表名和列名与数据类型拼接成一个字符串。表名由参数table_name提供,列名和数据类型由columns字典提供。

  4. 循环遍历columns字典的键值对,将列名和数据类型拼接到查询语句中。

  5. 使用rstrip(", ")方法去除查询语句中最后一个逗号和空格。

  6. 将拼接完成的查询语句赋值给变量query

  7. 执行创建表的操作,使用cursor.execute(query)方法执行查询语句。

  8. 提交事务,使用conn.commit()方法确保查询的结果被提交到数据库。

  9. 关闭游标和数据库连接,使用cursor.close()conn.close()方法。

(5)将读取的excel数据保存到数据库对应的表中

代码入下:

  1. # 将读取的excel 数据保存到数据库对应的表中
  2. def save_to_mysql(data, table_name):
  3. # 建立MySQL数据库连接
  4. conn = pymysql.connect(**db_config)
  5. cursor = conn.cursor()
  6. # 将数据写入MySQL表中(假设数据只有一个Sheet)
  7. for index, row in data.iterrows():
  8. query = f"INSERT INTO {table_name} ("
  9. for col_name in data.columns:
  10. query += f"{col_name}, "
  11. query = query.rstrip(", ") # 去除最后一个逗号和空格
  12. query += ") VALUES ("
  13. values = tuple(row)
  14. query += ("%s, " * len(values)).rstrip(", ") # 动态生成值的占位符
  15. query += ")"
  16. cursor.execute(query, values)
  17. # 提交事务并关闭连接
  18. conn.commit()
  19. cursor.close()
  20. conn.close()
'
运行

重要代码部分解读:

  1. 建立 MySQL 数据库连接,通过 pymysql 库的 connect() 方法和 **db_config 参数来连接数据库。

  2. 创建一个游标对象 cursor,用于执行 SQL 语句。

  3. 使用 iterrows() 方法循环遍历数据框架 data 中的每一行数据。

  4. 组装插入数据的 SQL 查询语句。使用 f-string 将表名和列名拼接到查询语句中。

  5. 循环遍历数据框架的列名,将列名拼接到查询语句中。

  6. 使用 rstrip(", ") 方法去除查询语句中最后一个逗号和空格。

  7. 将拼接完成的查询语句赋值给变量 query

  8. 使用 tuple(row) 将当前行的数据转换为元组 values

  9. 使用 ("%s, " * len(values)).rstrip(", ") 动态生成值的占位符,并将占位符拼接到查询语句中。

  10. 使用 cursor.execute(query, values) 方法执行查询语句,并传递元组 values 作为参数。

  11. 提交事务,使用 conn.commit() 方法确保查询的结果被提交到数据库。

  12. 关闭游标和数据库连接,使用 cursor.close() 和 conn.close() 方法。

(6)读取数据库中存入的数据

代码入下:

  1. # 读取数据库中存入的数据
  2. def query_data():
  3. # 建立MySQL数据库连接
  4. conn = pymysql.connect(**db_config)
  5. cursor = conn.cursor()
  6. # 查询所有表名
  7. cursor.execute("SHOW TABLES")
  8. tables = cursor.fetchall()
  9. data = []
  10. dic_list = []
  11. table_name_list = []
  12. for table in tables:
  13. # for table in [tables[-1]]:
  14. table_name = table[0]
  15. table_name_list.append(table_name)
  16. query = f"SELECT * FROM {table_name}"
  17. # # 执行查询并获取结果
  18. cursor.execute(query)
  19. result = cursor.fetchall()
  20. if len(result) > 0:
  21. columns = [desc[0] for desc in cursor.description]
  22. table_data = [{columns[i]: row[i] for i in range(len(columns))} for row in result]
  23. data.extend(table_data)
  24. dic = {}
  25. for i in data:
  26. dic[i['word']] = float(i['count'])
  27. dic_list.append(dic)
  28. conn.commit()
  29. cursor.close()
  30. conn.close()
  31. return dic_list, table_name_list
'
运行

重要代码部分解读:

  1. 建立 MySQL 数据库连接,通过 pymysql 库的 connect() 方法和 **db_config 参数来连接数据库。

  2. 创建一个游标对象 cursor,用于执行 SQL 语句。

  3. 执行查询所有表名的 SQL 语句,使用 cursor.execute("SHOW TABLES")

  4. 使用 cursor.fetchall() 获取所有表名的结果,并将其赋值给 tables 变量。

  5. 定义空列表 data,用于存储查询结果。

  6. 定义空列表 dic_list 和 table_name_list,用于存储每个表的数据字典和表名。

  7. 使用循环遍历 tables 列表的每个元素,获取表名。

  8. 构建查询表中所有数据的 SQL 语句,使用 f-string 将表名拼接到查询语句中。

  9. 使用 cursor.execute(query) 执行查询语句。

  10. 使用 cursor.fetchall() 获取查询结果。

  11. 判断结果是否为空,如果不为空,则获取查询结果的列名,将结果转换为字典的形式,并将结果添加到 data 列表中。

  12. 构建一个字典 dic,将 data 列表中的数据以字典形式存储,键为 ‘word’ 列的值,值为 ‘count’ 列的值。将该字典添加到 dic_list 列表中。

  13. 将表名添加到 table_name_list 列表中。

  14. 提交事务,使用 conn.commit() 方法确保查询的结果被提交到数据库。

  15. 关闭游标和数据库连接,使用 cursor.close()  conn.close() 方法。

  16. 返回 dic_list  table_name_list 列表作为函数的输出。

(7)执行主函数,并生成词云图

代码如下:

  1. # 执行主函数,并生成词云图
  2. if __name__ == '__main__':
  3. # excelTomysql()方法将excel写入到mysql
  4. excelTomysql()
  5. print("excel写入到mysql成功!")
  6. # query_data()方法将mysql中的数据查询出来,每张表是一个dic,然后绘制词云
  7. result_list, table_name_list = query_data()
  8. print("从mysql获取数据成功!")
  9. for i in range(len(result_list)):
  10. maskImage = np.array(Image.open('background.PNG')) # 定义词频背景图
  11. # 定义词云样式
  12. wc = wordcloud.WordCloud(
  13. font_path='PingFangBold.ttf', # 设置字体
  14. mask=maskImage, # 设置背景图
  15. max_words=500, # 最多显示词数
  16. max_font_size=100) # 字号最大值
  17. # 生成词云图
  18. wc.generate_from_frequencies(result_list[i]) # 从字典生成词云
  19. # 保存图片到指定文件夹
  20. wc.to_file("词云图/{}.png".format(table_name_list[i]))
  21. print("生成的词云图【{}】已经保存成功!".format(table_name_list[i] + '.png'))
  22. # 在notebook中显示词云图
  23. plt.imshow(wc) # 显示词云
  24. plt.axis('off') # 关闭坐标轴
  25. plt.show() # 显示图像

重要代码部分解读:

  1. 检查当前代码是否在主函数中运行,使用 if __name__ == '__main__':

  2. 调用函数 excelTomysql(),将 Excel 数据写入到 MySQL 数据库中。

  3. 打印成功提示信息:“excel写入到mysql成功!”

  4. 调用函数 query_data(),从 MySQL 数据库中查询数据,并将结果存储在 result_list 和 table_name_list 变量中。

  5. 打印成功提示信息:“从mysql获取数据成功!”

  6. 使用循环遍历每个表的数据。

  7. 使用 np.array(Image.open('background.PNG')) 打开并读取词频背景图,将其转换为 maskImage 数组。

  8. 创建一个 wordcloud.WordCloud() 对象 wc,设置字体、背景图、最大词数和最大字号等参数。

  9. 使用 wc.generate_from_frequencies(result_list[i]) 从字典生成词云图。

  10. 使用 wc.to_file() 将生成的词云图保存到指定文件夹,文件名为表名加上 “.png” 后缀。

  11. 打印成功提示信息:“生成的词云图【表名.png】已经保存成功!”

  12. 使用 plt.imshow() 显示词云图。

  13. 使用 plt.axis('off') 关闭坐标轴的显示。

  14. 使用 plt.show() 显示图像。

(8)完整代码

代码如下:

  1. import pymysql
  2. import pandas as pd
  3. import os
  4. import wordcloud
  5. import numpy as np
  6. from PIL import Image
  7. import matplotlib.pyplot as plt
  8. # MySql数据库连接配置
  9. db_config = {
  10. 'host': "", # 主机名
  11. 'port': , # 端口
  12. 'user': "root", # 账户
  13. 'password': "", # 密码
  14. 'database': '', # 这里需要创建自己的数据库创建的数据库名
  15. }
  16. # 创建读取excel文件的函数
  17. def excelTomysql():
  18. path = 'xxxx' # 文件所在文件夹
  19. files = [path + "/" + i for i in os.listdir(path)] # 获取文件夹下的文件名,并拼接完整路径
  20. for file_path in files:
  21. print(file_path)
  22. filename = os.path.basename(file_path)
  23. table_name = os.path.splitext(filename)[0] # 使用文件名作为表名,去除文件扩展名
  24. # 使用pandas库读取Excel文件
  25. data = pd.read_excel(file_path, engine="openpyxl", header=0) # 假设第一行是列名
  26. columns = {col: "VARCHAR(255)" for col in data.columns} # 动态生成列名和数据类型
  27. create_table(table_name, columns) # 创建表
  28. save_to_mysql(data, table_name) # 将数据保存到MySQL数据库中,并使用文件名作为表名
  29. print(filename + ' uploaded and saved to MySQL successfully')
  30. # 根据excel文件名创建数据库表名
  31. def create_table(table_name, columns):
  32. # 建立MySQL数据库连接
  33. conn = pymysql.connect(**db_config)
  34. cursor = conn.cursor()
  35. # 组装创建表的 SQL 查询语句
  36. query = f"CREATE TABLE IF NOT EXISTS {table_name} ("
  37. for col_name, col_type in columns.items():
  38. query += f"{col_name} {col_type}, "
  39. query = query.rstrip(", ") # 去除最后一个逗号和空格
  40. query += ")"
  41. # 执行创建表的操作
  42. cursor.execute(query)
  43. # 提交事务并关闭连接
  44. conn.commit()
  45. cursor.close()
  46. conn.close()
  47. # 将读取的excel 数据保存到数据库对应的表中
  48. def save_to_mysql(data, table_name):
  49. # 建立MySQL数据库连接
  50. conn = pymysql.connect(**db_config)
  51. cursor = conn.cursor()
  52. # 将数据写入MySQL表中(假设数据只有一个Sheet)
  53. for index, row in data.iterrows():
  54. query = f"INSERT INTO {table_name} ("
  55. for col_name in data.columns:
  56. query += f"{col_name}, "
  57. query = query.rstrip(", ") # 去除最后一个逗号和空格
  58. query += ") VALUES ("
  59. values = tuple(row)
  60. query += ("%s, " * len(values)).rstrip(", ") # 动态生成值的占位符
  61. query += ")"
  62. cursor.execute(query, values)
  63. # 提交事务并关闭连接
  64. conn.commit()
  65. cursor.close()
  66. conn.close()
  67. # 读取数据库中存入的数据
  68. def query_data():
  69. # 建立MySQL数据库连接
  70. conn = pymysql.connect(**db_config)
  71. cursor = conn.cursor()
  72. # 查询所有表名
  73. cursor.execute("SHOW TABLES")
  74. tables = cursor.fetchall()
  75. data = []
  76. dic_list = []
  77. table_name_list = []
  78. for table in tables:
  79. # for table in [tables[-1]]:
  80. table_name = table[0]
  81. table_name_list.append(table_name)
  82. query = f"SELECT * FROM {table_name}"
  83. # # 执行查询并获取结果
  84. cursor.execute(query)
  85. result = cursor.fetchall()
  86. if len(result) > 0:
  87. columns = [desc[0] for desc in cursor.description]
  88. table_data = [{columns[i]: row[i] for i in range(len(columns))} for row in result]
  89. data.extend(table_data)
  90. dic = {}
  91. for i in data:
  92. dic[i['word']] = float(i['count'])
  93. dic_list.append(dic)
  94. conn.commit()
  95. cursor.close()
  96. conn.close()
  97. return dic_list, table_name_list
  98. # 执行主函数,并生成词云图
  99. if __name__ == '__main__':
  100. # excelTomysql()方法将excel写入到mysql
  101. excelTomysql()
  102. print("excel写入到mysql成功!")
  103. # query_data()方法将mysql中的数据查询出来,每张表是一个dic,然后绘制词云
  104. result_list, table_name_list = query_data()
  105. print("从mysql获取数据成功!")
  106. for i in range(len(result_list)):
  107. maskImage = np.array(Image.open('background.PNG')) # 定义词频背景图
  108. # 定义词云样式
  109. wc = wordcloud.WordCloud(
  110. font_path='PingFangBold.ttf', # 设置字体
  111. mask=maskImage, # 设置背景图
  112. max_words=500, # 最多显示词数
  113. max_font_size=100) # 字号最大值
  114. # 生成词云图
  115. wc.generate_from_frequencies(result_list[i]) # 从字典生成词云
  116. # 保存图片到指定文件夹
  117. wc.to_file("词云图/{}.png".format(table_name_list[i]))
  118. print("生成的词云图【{}】已经保存成功!".format(table_name_list[i] + '.png'))
  119. # 在notebook中显示词云图
  120. plt.imshow(wc) # 显示词云
  121. plt.axis('off') # 关闭坐标轴
  122. plt.show() # 显示图像

九,词云效果显示

1.运行代码后的效果展示

 

 2.数据库的表展示

十,销毁数据库

        如果仅仅像我一样仅供测试使用,在使用完后销毁数据库,避免像我一样欠费了,还被打了电话,虽然不多,不过也提醒了我,要注意使用。

 

 最后记得点击确定。

十一,总结

        总的来说这次产品体验还是不错的,因为不仅解决了我当下的学习相关的一些问题,对于我来说就是操作起来没有很多繁琐的东西,虽然我是经过测试直接使用了给的数据库配置,然后我又通过文档自行配置和使用了,发现很容易上手和配置,并且给出的词语图示例代码,对于我一个小白来说都可以读懂并使用,是面向大众使用的一种便于操作和使用的云数据库,当然在开启外网操作时有点慢,我不清楚是什么原因。

        当然我也从将Excel数据导入到数据库, 数据库中查询和插入数据,过Web应用程序来展示数据,和展示数据库中的数据这四个方式对这个产品进行测评,下面是我测评后获取到的一些信息,因为篇幅过长我就不进行展示了。

TDSQL-C Serverless的优点:

  1. TDSQL-C Serverless采用无服务器的架构,可以根据实际需求自动调整计算资源,有效降低了成本和管理复杂性。这点我觉得最好的对于我来说。
  2. TDSQL-C Serverless会实时自动调整计算资源,无需手动操作,大大简化了数据库管理的工作。这点对于我这个不会管理数据库的小白很适合。

TDSQL-C Serverless的缺点:

  1. 我偶尔会遇到一些延迟波动的情况,特别是在负载突增时。虽然这种情况发生的不频繁,但仍希望在后续版本中能够得到改进。
  2. TDSQL-C Serverless在一些功能和性能方面有一些限制,最大连接数、并发查询数等。

我对TDSQL-C Serverless的建议方向如下:

  1. 提高自动伸缩的精确度和响应速度,减少延迟波动情况的发生。
  2. 允许用户根据自己的需求进行更细粒度的配置,自定义最大连接数、缓存大小等。

   我对TDSQL-C Serverless的体验感非常好,它在节约成本、简化运维等方面具有很大的优势。但希望能对于不足之处进行改进,以满足个人和小型应用的不同需求。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/901430
推荐阅读
相关标签
  

闽ICP备14008679号