在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SQL+Excel怎么進行數(shù)據(jù)統(tǒng)計

汽車電子技術(shù) ? 來源:Python數(shù)據(jù)分析之旅 ? 作者:cauwfq ? 2023-02-23 16:16 ? 次閱讀

poYBAGP3IBWAWhzwAACaXhziFZI067.png

一.項目背景

本項目主要是想給大家介紹一下如何利用數(shù)據(jù)表(SQL)對已經(jīng)給定Excel模板對數(shù)據(jù)
進行處理統(tǒng)計,主要是涉及一些單元格的操作,也同時給大家介紹下如何利用openpyxl來
繪制圖形,本次數(shù)據(jù)表和給定Excel模板如下圖所示。

poYBAGP3IDSAbR9UAADdKOUM9oM426.png

數(shù)據(jù)表

pYYBAGP3IEKAMSffAACC8v6gzok530.png

Excel模板文件

二.實現(xiàn)過程

1.數(shù)據(jù)準備
》》初始化連接
》》初始化文本
#初始化
class emp_xlsx():
    def __init__(self, host, user, password, database):
        #初始化連接信息
        self.conn = pymysql.connect(host=host,
                                    user=user,
                                    password=password,
                                    database=database
                                    )
        #初始化模板文件
        self.wb = load_workbook('./temp.xlsx')
        #獲取sheet頁簽
        self.ws = self.wb.active
        #頁簽名
        self.ws.title = '員工薪資統(tǒng)計'
        #頁簽顏色屬性
        self.ws.sheet_properties.tabColor = 'ff0000'
2.獲取數(shù)據(jù)
》》執(zhí)行sql語句
    def export_xlsx(self):
        #建立連接
        cursor=self.conn.cursor()
        try:
            #執(zhí)行sql語句(如果數(shù)據(jù)量大,需要借助于分頁查詢)
            cursor.execute('select eno,name,salary from emp')
            #獲取數(shù)據(jù)
            rows=cursor.fetchall()
        except Exception as e:
            print(e)
2.獲取數(shù)據(jù)
》》執(zhí)行sql語句
    def export_xlsx(self):
            #建立連接
        cursor=self.conn.cursor()
        try:
            #執(zhí)行sql語句(如果數(shù)據(jù)量大,需要借助于分頁查詢)
            cursor.execute('select eno,name,salary from emp')
            #獲取數(shù)據(jù)
            rows=cursor.fetchall()
        except Exception as e:
            print(e)
3.存儲數(shù)據(jù)
》》設置屬性
》》保存圖表
 #寫入行號id
         row_id = 13
        #遍歷每行數(shù)據(jù)
        for (i,row) in enumerate(rows):
            (self.ws['B{0}'.format(row_id)],
             self.ws['C{0}'.format(row_id)],
             self.ws['D{0}'.format(row_id)])=row
            row_id += 1

        #顯示圖表
        chart = BarChart()
        #設置圖表名稱
        chart.title = "薪資統(tǒng)計表"
        #設置顯示風格
        chart.style = 16
        #設置x軸坐標軸名稱
        chart.x_axis.title = '姓名'
        #設置y軸坐標軸名稱
        chart.y_axis.title = '薪資'

        #橫坐標
        cats = Reference(self.ws, min_col=3, min_row=13, max_row=row_id)
        #數(shù)據(jù)區(qū)域
        data = Reference(self.ws, min_col=4, min_row=12,  max_row=row_id)
        #添加數(shù)據(jù)
        chart.add_data(data, titles_from_data=True)
        #添加屬性
        chart.set_categories(cats)
        #添加圖表
        self.ws.add_chart(chart, "A{0}".format(row_id + 2))
        #保存數(shù)據(jù)
        self.wb.save('./emp.xlsx')

pYYBAGP3ILSALSZTAADZ15qdotI926.png

結(jié)果文件

三.完整代碼

import pymysql
from openpyxl import load_workbook
from openpyxl.chart import BarChart, Reference


#初始化
class emp_xlsx():
    def __init__(self, host, user, password, database):
        #初始化連接信息
        self.conn = pymysql.connect(host=host,
                                    user=user,
                                    password=password,
                                    database=database
                                    )
        #初始化模板文件
        self.wb = load_workbook('./temp.xlsx')
        #獲取sheet頁簽
        self.ws = self.wb.active
        #頁簽名
        self.ws.title = '員工薪資統(tǒng)計'
        #頁簽顏色屬性
        self.ws.sheet_properties.tabColor = 'ff0000'
    
    #導出數(shù)據(jù)
    def export_xlsx(self):
        #建立連接
        cursor=self.conn.cursor()
        try:
            #執(zhí)行sql語句(如果數(shù)據(jù)量大,需要借助于分頁查詢)
            cursor.execute('select eno,name,salary from emp')
            #獲取數(shù)據(jù)
            rows=cursor.fetchall()
        except Exception as e:
            print(e)

        #寫入行號id
        row_id = 13
        #遍歷每行數(shù)據(jù)
        for (i,row) in enumerate(rows):
            (self.ws['B{0}'.format(row_id)],
             self.ws['C{0}'.format(row_id)],
             self.ws['D{0}'.format(row_id)])=row
            row_id += 1

        #顯示圖表
        chart = BarChart()
        #設置圖表名稱
        chart.title = "薪資統(tǒng)計表"
        #設置顯示風格
        chart.style = 16
        #設置x軸坐標軸名稱
        chart.x_axis.title = '姓名'
        #設置y軸坐標軸名稱
        chart.y_axis.title = '薪資'

        #橫坐標
        cats = Reference(self.ws, min_col=3, min_row=13, max_row=row_id)
        #數(shù)據(jù)區(qū)域
        data = Reference(self.ws, min_col=4, min_row=12,  max_row=row_id)
        #添加數(shù)據(jù)
        chart.add_data(data, titles_from_data=True)
        #添加屬性
        chart.set_categories(cats)
        #添加圖表
        self.ws.add_chart(chart, "A{0}".format(row_id + 2))
        #保存數(shù)據(jù)
        self.wb.save('./emp.xlsx')

#初始化連接
new_mysql=emp_xlsx('127.0.0.1',
                        'root',
                        '253611',
                        'company')
#導出數(shù)據(jù)
new_mysql.export_xlsx()
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7231

    瀏覽量

    90616
  • Excel
    +關(guān)注

    關(guān)注

    4

    文章

    225

    瀏覽量

    56201
  • 數(shù)據(jù)表
    +關(guān)注

    關(guān)注

    0

    文章

    299

    瀏覽量

    11667
收藏 人收藏

    評論

    相關(guān)推薦

    XY圖數(shù)據(jù)統(tǒng)計-以長度為X軸來進行統(tǒng)計

    和標準差統(tǒng)計,在統(tǒng)計中只能輸入一個一維數(shù)組或者是波形數(shù)據(jù),這都不能把長度數(shù)據(jù)統(tǒng)計進去,波形數(shù)據(jù)
    發(fā)表于 06-11 11:07

    數(shù)據(jù)統(tǒng)計

    labview數(shù)據(jù)統(tǒng)計
    發(fā)表于 08-07 16:57

    實現(xiàn) Labview 和SQL server進行數(shù)據(jù)的讀取和寫入

    行數(shù)據(jù)不變。現(xiàn)在實現(xiàn)了 Labview 和SQL server進行數(shù)據(jù)的讀取和寫入,但怎樣選中某行,顏色變深,以及怎樣保存數(shù)據(jù)進入該行,有請高人指點,有案例更好,謝謝
    發(fā)表于 09-07 09:25

    數(shù)據(jù)統(tǒng)計

    數(shù)據(jù)統(tǒng)計
    發(fā)表于 11-08 10:53

    EXCEL實時寫入】掃描EXCEL已有數(shù)據(jù)行數(shù)并插入數(shù)據(jù)

    本帖最后由 hg110429 于 2021-8-20 14:40 編輯 之前發(fā)現(xiàn)很多同學都在問,如何掃描Excel表內(nèi)數(shù)據(jù)行數(shù),然后在已有數(shù)據(jù)下方
    發(fā)表于 08-20 14:37

    單片機串口顯示正常,為什么數(shù)據(jù)統(tǒng)計的數(shù)量少兩位呢?

    單片機串口顯示正常,為什么數(shù)據(jù)統(tǒng)計的數(shù)量少兩位呢
    發(fā)表于 10-25 06:34

    Excel進行電路統(tǒng)計分析

    摘要:本文向廣大電路設計人員介紹了一種利用Excel電子表對電路進行全面的統(tǒng)計分析的簡單方法,幾乎適用于任何電路。本文介紹的方法對于深入了解電路在實際環(huán)境中的運行情況
    發(fā)表于 01-22 15:06 ?2113次閱讀
    <b class='flag-5'>Excel</b><b class='flag-5'>進行</b>電路<b class='flag-5'>統(tǒng)計</b>分析

    利用Excel進行電路統(tǒng)計分析

    利用Excel進行
    發(fā)表于 01-07 17:56 ?0次下載
    利用<b class='flag-5'>Excel</b><b class='flag-5'>進行</b>電路<b class='flag-5'>統(tǒng)計</b>分析

    數(shù)據(jù)分析、數(shù)據(jù)挖掘和數(shù)據(jù)統(tǒng)計的概念與主要區(qū)別及其舉例分析

    數(shù)據(jù)挖掘就是從海量數(shù)據(jù)中找到隱藏的規(guī)則,數(shù)據(jù)分析一般要分析的目標比較明確,數(shù)據(jù)統(tǒng)計則是單純的使用樣本來推斷總體。 主要區(qū)別: 數(shù)據(jù)分析的重點
    發(fā)表于 09-28 19:20 ?18次下載

    睡眠節(jié)律數(shù)據(jù)統(tǒng)計分析系統(tǒng)的設計

    為了解決睡眠節(jié)律研究中數(shù)據(jù)的快速導入、準確分析和詳細統(tǒng)計的問題,提出了一種睡眠節(jié)律數(shù)據(jù)統(tǒng)計分析系統(tǒng)。該系統(tǒng)基于.NET開發(fā)平臺,以Oracle為后臺數(shù)據(jù)庫,采用B/S結(jié)構(gòu)模式,分為
    發(fā)表于 11-15 16:22 ?8次下載
    睡眠節(jié)律<b class='flag-5'>數(shù)據(jù)統(tǒng)計</b>分析系統(tǒng)的設計

    統(tǒng)計java代碼行數(shù)和jar包中.class代碼的行數(shù)

    本文檔內(nèi)容介紹了統(tǒng)計java代碼行數(shù)和jar包中.class代碼的行數(shù),供參考
    發(fā)表于 03-19 15:27 ?0次下載

    使用MATLAB進行數(shù)理統(tǒng)計的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用MATLAB進行數(shù)理統(tǒng)計的程序免費下載。
    發(fā)表于 08-30 17:28 ?6次下載

    如何利用ZWS云平臺的自定義統(tǒng)計算法對數(shù)據(jù)進行統(tǒng)計

    設備數(shù)據(jù)上云,解析后的設備數(shù)據(jù)一般是時序存儲,但純粹的設備時序數(shù)據(jù)無法給用戶帶來更大的業(yè)務價值,需要根據(jù)業(yè)務需求進行額外的數(shù)據(jù)統(tǒng)計分析。
    的頭像 發(fā)表于 05-23 15:09 ?894次閱讀
    如何利用ZWS云平臺的自定義<b class='flag-5'>統(tǒng)計</b>算法對<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>進行</b><b class='flag-5'>統(tǒng)計</b>?

    【產(chǎn)品應用】如何利用IoT云平臺統(tǒng)計設備數(shù)據(jù)?— 進階篇

    。應用場景上一篇《如何利用IoT云平臺統(tǒng)計設備數(shù)據(jù)?—基礎(chǔ)篇》介紹了如何運用ZWS云平臺中的內(nèi)置統(tǒng)計算法進行數(shù)據(jù)統(tǒng)計,這次將介紹如何創(chuàng)建自定義統(tǒng)計
    的頭像 發(fā)表于 05-30 17:18 ?625次閱讀
    【產(chǎn)品應用】如何利用IoT云平臺<b class='flag-5'>統(tǒng)計</b>設備<b class='flag-5'>數(shù)據(jù)</b>?— 進階篇

    如何使用SQL進行數(shù)據(jù)分析

    使用SQL進行數(shù)據(jù)分析是一個強大且靈活的過程,它涉及從數(shù)據(jù)庫中提取、清洗、轉(zhuǎn)換和聚合數(shù)據(jù),以便進行進一步的分析和洞察。 1.
    的頭像 發(fā)表于 11-19 10:26 ?863次閱讀
    主站蜘蛛池模板: 日本www黄| 午夜免费的国产片在线观看 | 日日干干| 曰本又色又爽又黄三级视频 | vr亚洲成年网址在线观看 | 欧美激欧美啪啪片免费看 | 国产乱辈通伦影片在线播放亚洲 | 国产午夜精品不卡片 | 手机在线观看国产精选免费 | 天天做天天看夜夜爽毛片 | 日日夜夜爽 | 丁香六月婷婷精品免费观看 | 最近2018年在线中文字幕高清 | 成人人免费夜夜视频观看 | 午夜黄视频 | 中出丰满大乳中文字幕 | 激情婷婷在线 | 欧美日韩国产一区二区三区不卡 | 免费看一级毛片 | 精品亚洲综合在线第一区 | 欧洲色 | www色午夜| 深夜福利一区 | 你懂得福利 | 在线永久免费播放视频 | 日本一区二区在线免费观看 | 色婷婷综合激情视频免费看 | 亚洲一区二区福利视频 | 91伊人久久大香线蕉 | 婷婷六| 一级做a免费视频 | 天堂在线观看免费视频 | 久久国产色 | 四虎新网址 | jlzzjlzz亚洲大全 | 插白浆| 日本三级免费看 | 黄在线观看在线播放720p | 窝窝午夜在线观看免费观看 | 手机看日韩毛片福利盒子 | 日韩美a一级毛片 |