国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖

這篇具有很好參考價值的文章主要介紹了【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

TDSQL-C MySQL 版(TDSQL-C for MySQL)是騰訊云自研的新一代云原生關(guān)系型數(shù)據(jù)庫。融合了傳統(tǒng)數(shù)據(jù)庫、云計算與新硬件技術(shù)的優(yōu)勢,為用戶提供具備高彈性、高性能、海量存儲、安全可靠的數(shù)據(jù)庫服務。TDSQL-C MySQL 版100%兼容 MySQL 5.7、8.0。實現(xiàn)超百萬級 QPS 的高吞吐,最高 PB 級智能存儲,保障數(shù)據(jù)安全可靠。
TDSQL-C MySQL 版采用存儲和計算分離的架構(gòu),所有計算節(jié)點共享一份數(shù)據(jù),提供秒級的配置升降級、秒級的故障恢復,單節(jié)點可支持百萬級 QPS,自動維護數(shù)據(jù)和備份,最高以GB/秒的速度并行回檔。
TDSQL-C MySQL 版既融合了商業(yè)數(shù)據(jù)庫穩(wěn)定可靠、高性能、可擴展的特征,又具有開源云數(shù)據(jù)庫簡單開放、高效迭代的優(yōu)勢。TDSQL-C MySQL 版引擎完全兼容原生 MySQL,您可以在不修改應用程序任何代碼和配置的情況下,將 MySQL 數(shù)據(jù)庫遷移至 TDSQL-C MySQL 版引擎。

本篇文章我們將一步一步的實現(xiàn) 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖

學到什么?

  1. 如何申請TDSQL數(shù)據(jù)庫:包括登錄騰訊云、選購配置、購買和管理頁面等相關(guān)步驟。
  2. 創(chuàng)建項目工程、連接TDSQL數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫等內(nèi)容。
  3. 涉及讀取詞頻Excel、創(chuàng)建表、保存數(shù)據(jù)到TDSQL、讀取TDSQL數(shù)據(jù)等相關(guān)代碼的講解。
  4. python 相關(guān)的知識等

準備工作

申請TDSQL數(shù)據(jù)庫

1. 點擊登錄騰訊云

騰訊云地址

2. 點擊立即選購 ,如下圖所示

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

3. 選購頁面中的數(shù)據(jù)庫配置選項如下

**注意 **:這里的實例形態(tài)我們選擇Serverless

 - 實例形態(tài)   **(Serverless)**
 -  數(shù)據(jù)庫引擎 **(MYSQL)**
 - 地域  **(北京)**  *地域這里根據(jù)自己的實際情況選擇即可* 
 - 主可用區(qū) **(北京三區(qū))**   *主可用區(qū)這里根據(jù)自己的實際情況選擇即可* 
 - 多可用區(qū)部署 **(否)**
 - 傳輸鏈路 
 - 網(wǎng)絡
 - 數(shù)據(jù)庫版本 **(MySQL5.7)**
 - 算力配置 **最小(0.25) , 最大(0.5)**
 - 自動暫停 **根據(jù)自己需求配置即可**
 - 計算計費模式 **(按量計費)**
 - 存儲計費模式 **(按量計費)**

我的配置截圖如下:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

4. 基礎(chǔ)信息

配置這里我們直接設(shè)置自己的密碼 以及 表名大小寫不敏感即可 , 如下圖所示
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

5. 配置完成后點擊 右下角的立即購買即可

6. 點擊立即購買后會有彈窗如下, 再次點擊

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

7. 購買完成后 , 會出現(xiàn)彈窗 , 點擊前往管理頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

8. 讀寫實例這里 點擊開啟外部

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

9. 創(chuàng)建并授權(quán)即可

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

至此我們的準備工作就完成了, 其實還是蠻簡單的哦!

數(shù)據(jù)準備

所需數(shù)據(jù) 如下

  • 詞頻
  • 背景圖
  • 字體文件

下載地址放在文末有需要的可以去下載哦!

創(chuàng)建項目工程

工程目錄如下
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

講解說明:

  1. 文件中的詞云圖文件夾 做為生成圖片的存儲路徑
  2. background.png 作為詞云圖背景圖
  3. 字體文件則是詞云圖的字體展示
  4. 詞頻是數(shù)據(jù)支撐
  5. wordPhoto.py 為腳本文件

鏈接 TDSQL

打開數(shù)據(jù)庫讀寫實例 找到相關(guān)配置 如圖

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

# MySQL數(shù)據(jù)庫連接配置
db_config = {
    'host': "XXXXXX",  # 這里填寫你自己申請的外部主機名
    'port': xxxx,   # 這里填寫你自己申請的外部的端口
    'user': "root",  # 賬戶
    'password': "",  # 密碼就是你自己創(chuàng)建實例時的密碼
    'database': 'tdsql', # 這里需要自己在自己創(chuàng)建的`tdsql`中創(chuàng)建數(shù)據(jù)庫 , 

}

創(chuàng)建數(shù)據(jù)庫

  1. 如圖點擊登錄按鈕 , 登錄到我們創(chuàng)建的數(shù)據(jù)庫中
    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃
  2. 進入數(shù)據(jù)庫點擊新建庫
    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃
  3. 點擊新建數(shù)據(jù)庫, 出現(xiàn)彈窗
    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃
  4. 在彈窗中的 數(shù)據(jù)庫名稱中寫入你喜歡的數(shù)據(jù)庫名稱即可 ,這里我們用的是 tdsql , 作為數(shù)據(jù)庫名稱 , 填寫好數(shù)據(jù)庫名稱后,點擊確定創(chuàng)建即可
    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃
  5. 列表中出現(xiàn)我們創(chuàng)建的數(shù)據(jù)庫名稱后 , 就表示創(chuàng)建好了 , 我們就可以開始代碼編寫了哦!
    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

函數(shù)模塊

讀取詞頻excel


def excelTomysql():
    path = '詞頻'  # 文件所在文件夾
    files = [path + "/" + i for i in os.listdir(path)]  # 獲取文件夾下的文件名,并拼接完整路徑
    for file_path in files:
        print(file_path)
        filename = os.path.basename(file_path)
        table_name = os.path.splitext(filename)[0]  # 使用文件名作為表名,去除文件擴展名
        # 使用pandas庫讀取Excel文件
        data = pd.read_excel(file_path, engine="openpyxl", header=0)  # 假設(shè)第一行是列名
        columns = {col: "VARCHAR(255)" for col in data.columns}  # 動態(tài)生成列名和數(shù)據(jù)類型

        create_table(table_name, columns)  # 創(chuàng)建表
        save_to_mysql(data, table_name)  # 將數(shù)據(jù)保存到MySQL數(shù)據(jù)庫中,并使用文件名作為表名
        print(filename + ' uploaded and saved to MySQL successfully')


代碼講解
  1. 設(shè)置文件夾路徑為’詞頻’,將該路徑賦值給變量 path。
  2. 使用os.listdir()函數(shù)獲取文件夾下的所有文件名,并拼接完整路徑,存儲到列表 files 中。
  3. 使用 for 循環(huán)遍歷 files 列表中的每個文件路徑,并打印出文件路徑。
  4. 使用 os.path.basename() 函數(shù)獲取文件名,并將文件名賦值給變量 filename。
  5. 使用 os.path.splitext() 函數(shù)獲取文件名的擴展名,并通過索引操作去除擴展名部分,得到表名,并將表名賦值給變量 table_name。
  6. 使用 pandas 庫的 read_excel() 函數(shù)讀取 Excel 文件,并將數(shù)據(jù)存儲到變量 data 中。在讀取過程中,使用 openpyxl 引擎,并假設(shè)第一行是列名。
  7. 使用字典推導式生成一個字典 columns,其中字典的鍵為數(shù)據(jù)的列名,值為 “VARCHAR(255)” 數(shù)據(jù)類型。
  8. 調(diào)用 create_table() 函數(shù),以 table_namecolumns 作為參數(shù),創(chuàng)建一個對應的表。
  9. 調(diào)用 save_to_mysql() 函數(shù),以 datatable_name 作為參數(shù),將數(shù)據(jù)保存到 MySQL 數(shù)據(jù)庫中,并使用文件名作為表名。
  10. 打印出文件名加上 ’ uploaded and saved to MySQL successfully’ 的提示信息。

創(chuàng)建表


def create_table(table_name, columns):
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 組裝創(chuàng)建表的 SQL 查詢語句
    query = f"CREATE TABLE IF NOT EXISTS {table_name} ("
    for col_name, col_type in columns.items():
        query += f"{col_name} {col_type}, "
    query = query.rstrip(", ")  # 去除最后一個逗號和空格
    query += ")"

    # 執(zhí)行創(chuàng)建表的操作
    cursor.execute(query)

    # 提交事務并關(guān)閉連接
    conn.commit()
    cursor.close()
    conn.close()
    

代碼講解
  1. 建立與MySQL數(shù)據(jù)庫的連接,連接參數(shù)通過變量 db_config 提供。
  2. 創(chuàng)建一個光標對象 cursor,用于執(zhí)行SQL語句。
  3. 組裝創(chuàng)建表的SQL查詢語句。首先,在SQL查詢語句中插入表名 table_name。然后,通過 for 循環(huán)遍歷 columns 字典中的每個鍵值對,分別將列名和數(shù)據(jù)類型添加到SQL查詢語句中。
  4. 去除SQL查詢語句末尾的最后一個逗號和空格。
  5. 添加右括號,完成SQL查詢語句的組裝。
  6. 使用光標對象 cursor 執(zhí)行創(chuàng)建表的操作,執(zhí)行的SQL語句為組裝好的查詢語句。
  7. 提交事務,將對數(shù)據(jù)庫的修改持久化。
  8. 關(guān)閉光標和數(shù)據(jù)庫連接。

代碼中使用了 pymysql 模塊來建立MySQL數(shù)據(jù)庫連接,并通過編寫SQL語句來執(zhí)行創(chuàng)建表的操作。具體的數(shù)據(jù)庫連接參數(shù)在 db_config 變量中提供,而 columns 參數(shù)則是由之前的代碼生成的一個字典,包含了表的列名和數(shù)據(jù)類型。

保存數(shù)據(jù)到tdsql


def save_to_mysql(data, table_name):
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 將數(shù)據(jù)寫入MySQL表中(假設(shè)數(shù)據(jù)只有一個Sheet)
    for index, row in data.iterrows():
        query = f"INSERT INTO {table_name} ("
        for col_name in data.columns:
            query += f"{col_name}, "
        query = query.rstrip(", ")  # 去除最后一個逗號和空格
        query += ") VALUES ("
        values = tuple(row)
        query += ("%s, " * len(values)).rstrip(", ")  # 動態(tài)生成值的占位符
        query += ")"
        cursor.execute(query, values)

    # 提交事務并關(guān)閉連接
    conn.commit()
    cursor.close()
    conn.close()
代碼講解
  1. 建立與MySQL數(shù)據(jù)庫的連接,連接參數(shù)通過變量 db_config 提供。
  2. 創(chuàng)建一個光標對象 cursor,用于執(zhí)行SQL語句。
  3. 對于數(shù)據(jù)中的每一行,使用 for 循環(huán)迭代,獲取索引和行數(shù)據(jù)。
  4. 組裝插入數(shù)據(jù)的SQL查詢語句。首先,在SQL查詢語句中插入表名 table_name。然后,通過 for 循環(huán)遍歷數(shù)據(jù)的列名,將列名添加到SQL查詢語句中。
  5. 去除SQL查詢語句末尾的最后一個逗號和空格。
  6. 添加右括號,完成SQL查詢語句的組裝。
  7. 使用 tuple(row) 將行數(shù)據(jù)轉(zhuǎn)換為元組類型,并將值占位符 %s 動態(tài)生成相應數(shù)量的占位符。
  8. 將值的占位符添加到SQL查詢語句中。
  9. 使用光標對象 cursor.execute() 執(zhí)行SQL查詢語句,將查詢語句中的占位符替換為實際的行數(shù)據(jù)。
  10. 提交事務,將對數(shù)據(jù)庫的修改持久化。
  11. 關(guān)閉光標和數(shù)據(jù)庫連接。

讀取tdsql 數(shù)據(jù)

 
def query_data():
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 查詢所有表名
    cursor.execute("SHOW TABLES")
    tables = cursor.fetchall()

    data = []
    dic_list = []
    table_name_list = []
    for table in tables:
        # for table in [tables[-1]]:
        table_name = table[0]
        table_name_list.append(table_name)
        query = f"SELECT * FROM {table_name}"
        # # 執(zhí)行查詢并獲取結(jié)果
        cursor.execute(query)
        result = cursor.fetchall()
        if len(result) > 0:
            columns = [desc[0] for desc in cursor.description]
            table_data = [{columns[i]: row[i] for i in range(len(columns))} for row in result]
            data.extend(table_data)
        dic = {}
        for i in data:
            dic[i['word']] = float(i['count'])
        dic_list.append(dic)

    conn.commit()
    cursor.close()
    conn.close()
    return dic_list, table_name_list

代碼講解
  1. 建立與MySQL數(shù)據(jù)庫的連接,連接參數(shù)通過變量 db_config 提供。
  2. 創(chuàng)建一個光標對象 cursor,用于執(zhí)行SQL語句。
  3. 使用 cursor.execute() 執(zhí)行SQL查詢語句 "SHOW TABLES",獲取所有表名。
  4. 使用 cursor.fetchall() 獲取查詢結(jié)果,將結(jié)果存儲在變量 tables 中。
  5. 創(chuàng)建空列表 data、dic_listtable_name_list,用于存儲查詢結(jié)果的數(shù)據(jù)、字典和表名。
  6. 對于每個表名 table,通過 for 循環(huán)迭代,獲取表名并添加到 table_name_list 中。
  7. 構(gòu)建查詢該表所有數(shù)據(jù)的SQL語句,并使用 cursor.execute() 執(zhí)行該查詢語句。
  8. 使用 cursor.fetchall() 獲取查詢結(jié)果,將結(jié)果存儲在變量 result 中。
  9. 如果查詢結(jié)果 result 的長度大于0,則說明有數(shù)據(jù),進行以下操作:
    • 使用 cursor.description 獲取查詢結(jié)果的列名列表,并將列名存儲在變量 columns 中。
    • 使用列表推導式和字典推導式,將查詢結(jié)果的每一行轉(zhuǎn)換為字典,并將字典存儲在變量 table_data 中。
    • table_data 添加到 data 列表中。
  10. 根據(jù) data 中的結(jié)果構(gòu)建字典,并將字典存儲在變量 dic 中。
  11. dic 添加到 dic_list 列表中。
  12. 提交事務,將對數(shù)據(jù)庫的修改持久化。
  13. 關(guān)閉光標和數(shù)據(jù)庫連接。
  14. 返回 dic_listtable_name_list

代碼調(diào)用


if __name__ == '__main__':
    excelTomysql()
    result_list, table_name_list = query_data()
    for i in range(len(result_list)):
        maskImage = np.array(Image.open('background.PNG'))  # 定義詞頻背景圖
        # 定義詞云樣式
        wc = wordcloud.WordCloud(
            font_path='PingFangBold.ttf', # 設(shè)置字體
            mask=maskImage,  # 設(shè)置背景圖
            max_words=800,  # 最多顯示詞數(shù)
            max_font_size=200)  # 字號最大值
        # 生成詞云圖
        wc.generate_from_frequencies(result_list[i])  # 從字典生成詞云
        # 保存圖片到指定文件夾
        wc.to_file("詞云圖/{}.png".format(table_name_list[i]))
        print("生成的詞云圖【{}】已經(jīng)保存成功!".format(table_name_list[i] + '.png'))
        plt.imshow(wc)  # 顯示詞云
        plt.axis('off')  # 關(guān)閉坐標軸
        plt.show()  # 顯示圖像

代碼講解
  1. 使用 Image.open() 打開名為 ‘background.PNG’ 的背景圖,并將其轉(zhuǎn)換為NumPy數(shù)組,存儲在變量 maskImage 中,作為詞云的背景圖。
  2. 創(chuàng)建一個 WordCloud 對象 wc,設(shè)置字體路徑、背景圖、最多顯示詞數(shù)和字號最大值等參數(shù)。
  3. 使用 wc.generate_from_frequencies()result_list[i] 的字典數(shù)據(jù)生成詞云圖。
  4. 使用 wc.to_file() 將生成的詞云圖保存為文件,文件名為 “詞云圖/{}.png”,其中 {} 表示對應的表名。
  5. 打印輸出生成的詞云圖文件名。
  6. 使用 plt.imshow() 顯示詞云圖。
  7. 使用 plt.axis('off') 關(guān)閉坐標軸的顯示。
  8. 使用 plt.show() 顯示圖像。

完整代碼

import pymysql
import pandas as pd
import os
import wordcloud
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

# MySQL數(shù)據(jù)庫連接配置
db_config = {
    'host': "XXXXXX",  # 這里填寫你自己申請的外部主機名
    'port': xxxx,   # 這里填寫你自己申請的外部的端口
    'user': "root",  # 賬戶
    'password': "",  # 密碼就是你自己創(chuàng)建實例時的密碼
    'database': 'tdsql', # 這里需要自己在自己創(chuàng)建的`tdsql`中創(chuàng)建數(shù)據(jù)庫 , 

}


def create_table(table_name, columns):
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 組裝創(chuàng)建表的 SQL 查詢語句
    query = f"CREATE TABLE IF NOT EXISTS {table_name} ("
    for col_name, col_type in columns.items():
        query += f"{col_name} {col_type}, "
    query = query.rstrip(", ")  # 去除最后一個逗號和空格
    query += ")"

    # 執(zhí)行創(chuàng)建表的操作
    cursor.execute(query)

    # 提交事務并關(guān)閉連接
    conn.commit()
    cursor.close()
    conn.close()


def excelTomysql():
    path = '詞頻'  # 文件所在文件夾
    files = [path + "/" + i for i in os.listdir(path)]  # 獲取文件夾下的文件名,并拼接完整路徑
    for file_path in files:
        print(file_path)
        filename = os.path.basename(file_path)
        table_name = os.path.splitext(filename)[0]  # 使用文件名作為表名,去除文件擴展名
        # 使用pandas庫讀取Excel文件
        data = pd.read_excel(file_path, engine="openpyxl", header=0)  # 假設(shè)第一行是列名
        columns = {col: "VARCHAR(255)" for col in data.columns}  # 動態(tài)生成列名和數(shù)據(jù)類型

        create_table(table_name, columns)  # 創(chuàng)建表
        save_to_mysql(data, table_name)  # 將數(shù)據(jù)保存到MySQL數(shù)據(jù)庫中,并使用文件名作為表名
        print(filename + ' uploaded and saved to MySQL successfully')


def save_to_mysql(data, table_name):
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 將數(shù)據(jù)寫入MySQL表中(假設(shè)數(shù)據(jù)只有一個Sheet)
    for index, row in data.iterrows():
        query = f"INSERT INTO {table_name} ("
        for col_name in data.columns:
            query += f"{col_name}, "
        query = query.rstrip(", ")  # 去除最后一個逗號和空格
        query += ") VALUES ("
        values = tuple(row)
        query += ("%s, " * len(values)).rstrip(", ")  # 動態(tài)生成值的占位符
        query += ")"
        cursor.execute(query, values)

    # 提交事務并關(guān)閉連接
    conn.commit()
    cursor.close()
    conn.close()


def query_data():
    # 建立MySQL數(shù)據(jù)庫連接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    # 查詢所有表名
    cursor.execute("SHOW TABLES")
    tables = cursor.fetchall()

    data = []
    dic_list = []
    table_name_list = []
    for table in tables:
        # for table in [tables[-1]]:
        table_name = table[0]
        table_name_list.append(table_name)
        query = f"SELECT * FROM {table_name}"
        # # 執(zhí)行查詢并獲取結(jié)果
        cursor.execute(query)
        result = cursor.fetchall()
        if len(result) > 0:
            columns = [desc[0] for desc in cursor.description]
            table_data = [{columns[i]: row[i] for i in range(len(columns))} for row in result]
            data.extend(table_data)
        dic = {}
        for i in data:
            dic[i['word']] = float(i['count'])
        dic_list.append(dic)

    conn.commit()
    cursor.close()
    conn.close()
    return dic_list, table_name_list


if __name__ == '__main__':
    excelTomysql()
    result_list, table_name_list = query_data()
    for i in range(len(result_list)):
        maskImage = np.array(Image.open('background.PNG'))  # 定義詞頻背景圖
        # 定義詞云樣式
        wc = wordcloud.WordCloud(
            font_path='PingFangBold.ttf', # 設(shè)置字體
            mask=maskImage,  # 設(shè)置背景圖
            max_words=800,  # 最多顯示詞數(shù)
            max_font_size=200)  # 字號最大值
        # 生成詞云圖
        wc.generate_from_frequencies(result_list[i])  # 從字典生成詞云
        # 保存圖片到指定文件夾
        wc.to_file("詞云圖/{}.png".format(table_name_list[i]))
        print("生成的詞云圖【{}】已經(jīng)保存成功!".format(table_name_list[i] + '.png'))
        plt.imshow(wc)  # 顯示詞云
        plt.axis('off')  # 關(guān)閉坐標軸
        plt.show()  # 顯示圖像

注意

運行代碼前 引入相關(guān)的包哦!


pip install pymysql
pip install pandas
pip install wordcloud
pip install numpy
pip install pillow
pip install matplotlib

運行代碼

寫入截圖

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

數(shù)據(jù)庫數(shù)據(jù)截圖

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

生成詞云圖

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

將詞云圖存入到文件夾
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

刪除TDSQL

體驗完成, 考慮到當前這個業(yè)務沒必要繼續(xù)開啟數(shù)據(jù)庫了, 防止無效計費, 所以刪除一下

如圖點擊銷毀按鈕

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃
出現(xiàn)銷毀實例的彈窗, 點擊確定即可

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖,翱翔九天,騰訊云,serverless,TDSQL,python,詞云圖,原力計劃

資源下載

資源在百度盤里 自取哦 !

鏈接: https://pan.baidu.com/s/1hClOJI07HUuGBQ2SwZfWjw 提取碼: 5mm9
–來自百度網(wǎng)盤超級會員v7的分享

總結(jié)

使用TDSQL 時你會發(fā)現(xiàn), 真的是無縫接入, 非常的絲滑, 當然也有些不足,希望可以改進哦!!

優(yōu)點

  1. 騰訊云數(shù)據(jù)庫 TDSQL整體使用和感受還是很好的,操作比較簡單,通過簡單的官方文檔就是搭建成功,其次性價比很高,尤其對于初學者新手 ,
  2. 與傳統(tǒng)的數(shù)據(jù)庫相比,TD-SQL Serverless的計費方式更為靈活,按照實際使用的資源進行付費,避免了長期運行服務器的成本。同時,它也可以在空閑時自動休眠,減少不必要的費用。

缺點

  1. 由于TD-SQL Serverless會在請求到達時才進行資源的分配和啟動,因此在首次請求時可能會有一定的延遲。對于一些對實時性要求較高的應用場景,延遲可能會影響用戶體驗。
  2. 相比于傳統(tǒng)的數(shù)據(jù)庫,TD-SQL Serverless提供的配置和優(yōu)化選項較少,用戶對底層資源的控制能力有限。這可能會導致一些特定的需求無法滿足。
  3. 雖然TD-SQL Serverless可以根據(jù)需求自動擴展計算資源,但高并發(fā)流量可能會導致較高的成本。如果在短時間內(nèi)存在大量的并發(fā)請求,可能需要支付額外費用。

注意 這個三個缺點我只是根據(jù)經(jīng)驗進行猜想, 如有錯誤還請及時指正哦!!文章來源地址http://www.zghlxwxcb.cn/news/detail-648246.html

到了這里,關(guān)于【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】 使用 Python 向 TDSQL-C 添加讀取數(shù)據(jù) 實現(xiàn)詞云圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐

    隨著云計算技術(shù)的不斷發(fā)展,越來越多的企業(yè)開始選擇將自己的數(shù)據(jù)庫部署在云上,以更好了的支持企業(yè)數(shù)字化轉(zhuǎn)型以及業(yè)務創(chuàng)新,在這個過程中,很多客戶會遇到這樣一個問題,業(yè)務會存在高峰期和低谷期,同樣數(shù)據(jù)庫的訪問量也是會存在相應的高峰期和低谷期。 序號 業(yè)

    2024年02月07日
    瀏覽(38)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless實踐之路

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless實踐之路

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless實踐之路 騰訊云TDSQL-C聯(lián)合CSDN推出了一款云數(shù)據(jù)庫產(chǎn)品測評活動,讓我們一起來體驗一下。 云數(shù)據(jù)庫是指被優(yōu)化或部署到一個虛擬計算環(huán)境中的數(shù)據(jù)庫,可以實現(xiàn)按需付費、按需擴展、高可用性以及存儲整合等優(yōu)勢。 云數(shù)

    2024年02月08日
    瀏覽(27)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】飲水機式使用云數(shù)據(jù)庫

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】飲水機式使用云數(shù)據(jù)庫

    云計算的發(fā)展從IaaS,PaaS,SaaS,到最新的BaaS,F(xiàn)asS,在這個趨勢中serverless(去服務器化) 計算資源發(fā)展Physical - Virtualisation - Cloud Compute - Container - Serverless。 TDSQL-C 是騰訊云自研的新一代云原生關(guān)系型數(shù)據(jù)庫。融合了傳統(tǒng)數(shù)據(jù)庫、云計算與新硬件技術(shù)的優(yōu)勢,100%兼容 MySQL,為用

    2024年02月07日
    瀏覽(18)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C MySQL Serverless的性能測試

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C MySQL Serverless的性能測試

    可以幫助發(fā)現(xiàn)性能瓶頸,并及時采取措施來優(yōu)化數(shù)據(jù)庫性能。 序號 測試方法 描述 1 基準測試(Benchmark Testing) ①. 通過運行預定義的測試項目來測量數(shù)據(jù)庫性能的方法 ②. 基準測試適用于比較不同數(shù)據(jù)庫系統(tǒng)或不同硬件配置的性能 ③. 建議根據(jù)實際使用場景來選擇最適合的基

    2024年02月08日
    瀏覽(24)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】| 實戰(zhàn)分享

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】| 實戰(zhàn)分享

    在當今云計算時代,不同類型的業(yè)務對高彈性、高可用性和可擴展性的需求越來越強烈,按需使用資源成為企業(yè)所需要的關(guān)鍵功能。為了滿足這些需求,云原生數(shù)據(jù)庫的Serverless化已經(jīng)成為云數(shù)據(jù)庫發(fā)展的重要方向之一。 過去,云數(shù)據(jù)庫的發(fā)展經(jīng)歷了幾個時代。在1.0時代, 主

    2024年02月11日
    瀏覽(22)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless“隨心所欲”的彈性計費

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless“隨心所欲”的彈性計費

    數(shù)據(jù)庫作為公司軟件業(yè)務應用中最重要的基礎(chǔ)軟件之一,在整個IT生態(tài)體系中具有舉足輕重的作用,隨著業(yè)務數(shù)據(jù)量的增大和算力的限制,單臺MySQL實例越來越滿足不了需求,騰訊云 TDSQL-C Serverless是騰訊云自研的云原生關(guān)系型數(shù)據(jù)庫 TDSQL-C MySQL版的無服務器架構(gòu)版。按實際計算

    2024年02月08日
    瀏覽(20)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C Serverless最佳實踐助力企業(yè)降本增效

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C Serverless最佳實踐助力企業(yè)降本增效

    隨著公司的業(yè)務快速發(fā)展,數(shù)據(jù)庫中的數(shù)據(jù)量猛增,訪問性能也變慢了,單臺MySQL實例無法應對和滿足大規(guī)模數(shù)據(jù)管理和請求訪問,導致數(shù)據(jù)庫性能下降,成為瓶頸。 關(guān)系型數(shù)據(jù)本身就比較容易形成系統(tǒng)瓶頸,無論是從單機存儲容量、連接數(shù)、處理能力都有限。 當單表的數(shù)據(jù)

    2024年02月08日
    瀏覽(22)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless云數(shù)據(jù)庫化繁為簡

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless云數(shù)據(jù)庫化繁為簡

    隨著互聯(lián)網(wǎng)的發(fā)展,企業(yè)的規(guī)模也在不斷的發(fā)展,企業(yè)內(nèi)部的在線業(yè)務量也隨之驟增,海量的數(shù)據(jù)訪問和存儲壓力已經(jīng)日益不滿足公司業(yè)務的需求了,而且搭建傳統(tǒng)集中式數(shù)據(jù)庫也增加運維工作量和公司軟硬件成本,對于突發(fā)的業(yè)務,無法滿足更快更穩(wěn)定的業(yè)務性能。 企業(yè)級

    2024年02月08日
    瀏覽(27)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless助力企業(yè)降本增效直播讀后感

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless助力企業(yè)降本增效直播讀后感

    本人接觸互聯(lián)網(wǎng)也有差不多10個年頭,從個人的博客、商城、電商、教育、淘寶客等,手里大大小小的項目也不在少數(shù),接觸過的技術(shù)棧也是比較多,從.net、php、java、go、python等都有涉獵,接觸的規(guī)模也是逐漸由小到大,從簡單的單機應用部署到SOA架構(gòu),再到目前公司業(yè)務的

    2024年02月07日
    瀏覽(29)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C 存儲爬取的QQ音樂歌單數(shù)據(jù)

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】基于TDSQL-C 存儲爬取的QQ音樂歌單數(shù)據(jù)

    最近有幸參與了騰訊云舉辦的 騰訊云 TDSQL-C 產(chǎn)品體驗活動。在這個過程中,通過了解 TDSQL-C 的產(chǎn)品和實踐,讓我受益非淺,原來數(shù)據(jù)庫還能這么玩! 也讓我真正體會到了降本增效這個詞的意義。 在看到活動的介紹和微信群的講解后,我馬不停蹄地開始了自己摸索。首先是跟

    2024年02月12日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包