欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)在Excel文件中寫入圖表

 更新時間:2022年05月20日 10:55:28   作者:渴望力量的哈士奇  
這篇文章主要為大家介紹了如何利用Python語言實現(xiàn)在Excel文件中寫入一個比較簡單的圖表,文中的實現(xiàn)方法講解詳細(xì),快動手嘗試一下吧

學(xué)習(xí)完如何生成一個 excel 文件之后,接下來我們繼續(xù)學(xué)習(xí)一下如何在 excel 文件中寫入一個比較簡單的圖表,先來看一下所需要的幾個函數(shù)(這些函數(shù)都是通過工作簿執(zhí)行出來的)。

函數(shù)名說明參數(shù)
add_chart()創(chuàng)建圖表對象{type:樣式}
add_series()定義需要展示的數(shù)據(jù)字典
set_title()定義圖表title字符串

add_series 參數(shù)

參數(shù)說明
categories展示的標(biāo)題 =Sheet1!$A$1:$A$4
Shert1:工作簿名稱
$A1 : 1:1:A$4 表示從第A行的第一個值到第四個值去展示標(biāo)題
values展示的數(shù)據(jù)=Sheet1!$B1 : 1:1:B$4
Shert1:工作簿名稱
$B1 : 1:1:B$4 表示從第A行的第一個值到第四個值去展示標(biāo)題
name表名 

$A$1:$A$4 表示從第A行的第一個值到第四個值去展示標(biāo)題

圖表的樣式

樣式名說明
area區(qū)域樣式表
bar條形樣式表
column柱狀樣式表
line線條樣式表
pie餅圖樣式表
doughnut圓環(huán)樣式表
scatter散點樣式表
stock庫存樣式表
rader雷達(dá)樣式表

結(jié)合 study.xlsx 文件 將學(xué)生成績以表圖形式展示

這里繼續(xù)使用上一章節(jié)的 “將項目中的 study.xlsx 文件的內(nèi)容寫入 write.xlsx” 的案例;

代碼示例如下:

# coding:utf-8

import xlsxwriter
import xlrd


# excel = xlsxwriter.Workbook('write.xlsx')       # 初始化 excel 對象
# book = excel.add_worksheet('study')             # 添加工作簿
#
# title = ['姓名', '性別', '年齡', '成績', '等級']   # 定義 write.xlsx 的首行內(nèi)容
#
# for index, data in enumerate(title):        # for循環(huán) 利用枚舉函數(shù)將 title 的內(nèi)容寫入 "write.xlsx" 的首行
#     book.write(0, index, data)
# excel.close()


def read():             # 定義一個 read 函數(shù)讀取 "study.xlsx" 文件
    result = []
    excel = xlrd.open_workbook('study.xlsx')
    book = excel.sheet_by_name('學(xué)生手冊')
    for i in book.get_rows():
        content = []
        for j in i:
            content.append(j.value)
        result.append(content)
    return result


def write(content):     # 定義一個 write 函數(shù) 將讀取到 "study.xlsx" 的內(nèi)容寫入到 "write.xlsx" 文件
    excel = xlsxwriter.Workbook('write.xlsx')
    book = excel.add_worksheet('study')

    for index, data in enumerate(content):
        print(data)
        for sub_index, sub_data in enumerate(data):
            # print(sub_index, sub_data)
            book.write(index, sub_index, sub_data)

    book1 = excel.add_worksheet('學(xué)生等級')     # 定義 "學(xué)生等級" 工作簿
    data = [                                   # 定義 data 列表 用以存放學(xué)生成績所處等級與數(shù)量
        ['優(yōu)秀', '良好', '中', '差'],
        [15, 25, 55, 5]
    ]

    book1.write_column('A1', data[0])       # write_column() 函數(shù),按行添加(即 A1 行添加 data 列表的 0 索引的內(nèi)容)
    book1.write_column('B1', data[1])

    chart = excel.add_chart({'type': 'column'})     # 定義圖表樣式為 柱狀樣式表
    chart.add_series({                              # 添加需要展示的數(shù)據(jù)
        'categories': '=學(xué)生等級!$A1:$A4',
        'values': '=學(xué)生等級!$B1:$B4',
        'name': '成績占比'
    })
    chart.set_title({'name': '成績占比圖表'})         # 定義圖表title
    book1.insert_chart('A10', chart)                # 將 chart 放在 excel 表格對應(yīng)工作簿的 A10 位置

    excel.close()


if __name__ == '__main__':
    result = read()
    write(result)

運行結(jié)果如下:

拓展:再試試餅狀圖與條形樣式圖

代碼示例如下:

# coding:utf-8

import xlsxwriter
import xlrd


# excel = xlsxwriter.Workbook('write.xlsx')       # 初始化 excel 對象
# book = excel.add_worksheet('study')             # 添加工作簿
#
# title = ['姓名', '性別', '年齡', '成績', '等級']   # 定義 write.xlsx 的首行內(nèi)容
#
# for index, data in enumerate(title):        # for循環(huán) 利用枚舉函數(shù)將 title 的內(nèi)容寫入 "write.xlsx" 的首行
#     book.write(0, index, data)
# excel.close()


def read():             # 定義一個 read 函數(shù)讀取 "study.xlsx" 文件
    result = []
    excel = xlrd.open_workbook('study.xlsx')
    book = excel.sheet_by_name('學(xué)生手冊')
    for i in book.get_rows():
        content = []
        for j in i:
            content.append(j.value)
        result.append(content)
    return result


def write(content):     # 定義一個 write 函數(shù) 將讀取到 "study.xlsx" 的內(nèi)容寫入到 "write.xlsx" 文件
    excel = xlsxwriter.Workbook('write.xlsx')
    book = excel.add_worksheet('study')

    for index, data in enumerate(content):
        print(data)
        for sub_index, sub_data in enumerate(data):
            # print(sub_index, sub_data)
            book.write(index, sub_index, sub_data)

    book1 = excel.add_worksheet('學(xué)生等級')     # 定義 "學(xué)生等級" 工作簿
    data = [                                   # 定義 data 列表 用以存放學(xué)生成績所處等級與數(shù)量
        ['優(yōu)秀', '良好', '中', '差'],
        [15, 25, 55, 5]
    ]

    book1.write_column('A1', data[0])       # write_column() 函數(shù),按行添加(即 A1 行添加 data 列表的 0 索引的內(nèi)容)
    book1.write_column('B1', data[1])

    chart = excel.add_chart({'type': 'column'})     # 定義圖表樣式為 柱狀樣式表
    chart.add_series({                              # 添加需要展示的數(shù)據(jù)
        'categories': '=學(xué)生等級!$A1:$A4',
        'values': '=學(xué)生等級!$B1:$B4',
        'name': '成績占比'
    })
    chart.set_title({'name': '成績占比圖表'})         # 定義圖表title
    book1.insert_chart('A10', chart)                # 將 chart 放在 excel 表格對應(yīng)工作簿的 A10 位置


    chart = excel.add_chart({'type': 'bar'})
    chart.add_series({
        'categories': '=學(xué)生等級!$A1:$A4',
        'values': '=學(xué)生等級!$B1:$B4',
        'name': '成績占比'
    })
    chart.set_title({'name': '成績占比圖表'})
    book1.insert_chart('A25', chart)


    chart = excel.add_chart({'type': 'pie'})
    chart.add_series({
        'categories': '=學(xué)生等級!$A1:$A4',
        'values': '=學(xué)生等級!$B1:$B4',
        'name': '成績占比'
    })
    chart.set_title({'name': '成績占比圖表'})
    book1.insert_chart('A40', chart)

    excel.close()


if __name__ == '__main__':
    result = read()
    write(result)

運行結(jié)果如下:

以上就是Python實現(xiàn)在Excel文件中寫入圖表的詳細(xì)內(nèi)容,更多關(guān)于Python Excel寫入圖表的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python連續(xù)賦值需要注意的一些問題

    Python連續(xù)賦值需要注意的一些問題

    這篇文章主要介紹了Python連續(xù)賦值需要注意的一些問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • vscode調(diào)試django項目的方法

    vscode調(diào)試django項目的方法

    這篇文章主要介紹了vscode調(diào)試django項目的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程

    Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程

    SQLAlchemy是Python一個專門的數(shù)據(jù)庫管理工具,如果對Django ORM覺得有些生疏的話完全可以結(jié)合SQLAlchemy,這里我們就來總結(jié)一下Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程
    2016-06-06
  • Python常用圖像形態(tài)學(xué)操作詳解

    Python常用圖像形態(tài)學(xué)操作詳解

    這篇文章主要為大家詳細(xì)介紹幾個Python中常用的圖像形態(tài)學(xué)操作:腐蝕、膨脹、開閉運算、梯度運算、禮帽和黑帽,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-08-08
  • python實現(xiàn)ID3決策樹算法

    python實現(xiàn)ID3決策樹算法

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)ID3決策樹算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 利用python實現(xiàn)3種梯度下降算法

    利用python實現(xiàn)3種梯度下降算法

    梯度下降法是一種優(yōu)化算法,用于求解函數(shù)的最小值或最大值,它通過迭代的方式,沿著函數(shù)的梯度方向逐步調(diào)整參數(shù),以找到函數(shù)的極值點,本文給大家介紹了利用python實現(xiàn)3種梯度下降算法,需要的朋友可以參考下
    2023-12-12
  • 玩轉(zhuǎn)Python發(fā)短信的實現(xiàn)

    玩轉(zhuǎn)Python發(fā)短信的實現(xiàn)

    用Python實現(xiàn)發(fā)短信功能,當(dāng)監(jiān)控到問題出現(xiàn)時,短信報警,使問題能得到及時的處理。當(dāng)然,我相信,用Python發(fā)短信應(yīng)用場景不止此一處,下面我們開始Python發(fā)短信的實現(xiàn),感興趣的朋友參考下吧
    2022-01-01
  • PyQt5中QSpinBox計數(shù)器的實現(xiàn)

    PyQt5中QSpinBox計數(shù)器的實現(xiàn)

    這篇文章主要介紹了PyQt5中QSpinBox計數(shù)器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 基于Python+Flask實現(xiàn)一個簡易網(wǎng)頁驗證碼登錄系統(tǒng)案例

    基于Python+Flask實現(xiàn)一個簡易網(wǎng)頁驗證碼登錄系統(tǒng)案例

    當(dāng)今的互聯(lián)網(wǎng)世界中,為了防止惡意訪問,許多網(wǎng)站在登錄和注冊表單中都采用了驗證碼技術(shù),驗證碼可以防止機器人自動提交表單,確保提交行為背后有一個真實的人類用戶,本文將向您展示如何使用Python的Flask框架來創(chuàng)建一個簡單的驗證碼登錄系統(tǒng)
    2023-09-09
  • python程序主動退出進(jìn)程的五種方式

    python程序主動退出進(jìn)程的五種方式

    對于如何結(jié)束一個Python程序或者用Python操作去結(jié)束一個進(jìn)程等,Python本身給出了好幾種方法,而這些方式也存在著一些區(qū)別,對相關(guān)的幾種方法看了并實踐了下,同時也記錄下,需要的朋友可以參考下
    2024-02-02

最新評論