<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
學習完如何生成一個 excel 檔案之後,接下來我們繼續學習一下如何在 excel 檔案中寫入一個比較簡單的圖表,先來看一下所需要的幾個函數(這些函數都是通過工作簿執行出來的)。
函數名 | 說明 | 引數 |
---|---|---|
add_chart() | 建立圖表物件 | {type:樣式} |
add_series() | 定義需要展示的資料 | 字典 |
set_title() | 定義圖表title | 字串 |
引數 | 說明 | 值 |
---|---|---|
categories | 展示的標題 | =Sheet1!$A$1:$A$4 Shert1:工作簿名稱 $A1 : 1:1:A$4 表示從第A行的第一個值到第四個值去展示標題 |
values | 展示的資料 | =Sheet1!$B1 : 1:1:B$4 Shert1:工作簿名稱 $B1 : 1:1:B$4 表示從第A行的第一個值到第四個值去展示標題 |
name | 表名 |
$A$1:$A$4 表示從第A行的第一個值到第四個值去展示標題
樣式名 | 說明 |
---|---|
area | 區域樣式表 |
bar | 條形樣式表 |
column | 柱狀樣式表 |
line | 線條樣式表 |
pie | 餅圖樣式表 |
doughnut | 圓環樣式表 |
scatter | 散點樣式表 |
stock | 庫存樣式表 |
rader | 雷達樣式表 |
這裡繼續使用上一章節的 “將專案中的 study.xlsx 檔案的內容寫入 write.xlsx” 的案例;
程式碼範例如下:
# coding:utf-8 import xlsxwriter import xlrd # excel = xlsxwriter.Workbook('write.xlsx') # 初始化 excel 物件 # book = excel.add_worksheet('study') # 新增工作簿 # # title = ['姓名', '性別', '年齡', '成績', '等級'] # 定義 write.xlsx 的首行內容 # # for index, data in enumerate(title): # for迴圈 利用列舉函數將 title 的內容寫入 "write.xlsx" 的首行 # book.write(0, index, data) # excel.close() def read(): # 定義一個 read 函數讀取 "study.xlsx" 檔案 result = [] excel = xlrd.open_workbook('study.xlsx') book = excel.sheet_by_name('學生手冊') for i in book.get_rows(): content = [] for j in i: content.append(j.value) result.append(content) return result def write(content): # 定義一個 write 函數 將讀取到 "study.xlsx" 的內容寫入到 "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('學生等級') # 定義 "學生等級" 工作簿 data = [ # 定義 data 列表 用以存放學生成績所處等級與數量 ['優秀', '良好', '中', '差'], [15, 25, 55, 5] ] book1.write_column('A1', data[0]) # write_column() 函數,按行新增(即 A1 行新增 data 列表的 0 索引的內容) book1.write_column('B1', data[1]) chart = excel.add_chart({'type': 'column'}) # 定義圖表樣式為 柱狀樣式表 chart.add_series({ # 新增需要展示的資料 'categories': '=學生等級!$A1:$A4', 'values': '=學生等級!$B1:$B4', 'name': '成績佔比' }) chart.set_title({'name': '成績佔比圖表'}) # 定義圖表title book1.insert_chart('A10', chart) # 將 chart 放在 excel 表格對應工作簿的 A10 位置 excel.close() if __name__ == '__main__': result = read() write(result)
執行結果如下:
程式碼範例如下:
# coding:utf-8 import xlsxwriter import xlrd # excel = xlsxwriter.Workbook('write.xlsx') # 初始化 excel 物件 # book = excel.add_worksheet('study') # 新增工作簿 # # title = ['姓名', '性別', '年齡', '成績', '等級'] # 定義 write.xlsx 的首行內容 # # for index, data in enumerate(title): # for迴圈 利用列舉函數將 title 的內容寫入 "write.xlsx" 的首行 # book.write(0, index, data) # excel.close() def read(): # 定義一個 read 函數讀取 "study.xlsx" 檔案 result = [] excel = xlrd.open_workbook('study.xlsx') book = excel.sheet_by_name('學生手冊') for i in book.get_rows(): content = [] for j in i: content.append(j.value) result.append(content) return result def write(content): # 定義一個 write 函數 將讀取到 "study.xlsx" 的內容寫入到 "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('學生等級') # 定義 "學生等級" 工作簿 data = [ # 定義 data 列表 用以存放學生成績所處等級與數量 ['優秀', '良好', '中', '差'], [15, 25, 55, 5] ] book1.write_column('A1', data[0]) # write_column() 函數,按行新增(即 A1 行新增 data 列表的 0 索引的內容) book1.write_column('B1', data[1]) chart = excel.add_chart({'type': 'column'}) # 定義圖表樣式為 柱狀樣式表 chart.add_series({ # 新增需要展示的資料 'categories': '=學生等級!$A1:$A4', 'values': '=學生等級!$B1:$B4', 'name': '成績佔比' }) chart.set_title({'name': '成績佔比圖表'}) # 定義圖表title book1.insert_chart('A10', chart) # 將 chart 放在 excel 表格對應工作簿的 A10 位置 chart = excel.add_chart({'type': 'bar'}) chart.add_series({ 'categories': '=學生等級!$A1:$A4', 'values': '=學生等級!$B1:$B4', 'name': '成績佔比' }) chart.set_title({'name': '成績佔比圖表'}) book1.insert_chart('A25', chart) chart = excel.add_chart({'type': 'pie'}) chart.add_series({ 'categories': '=學生等級!$A1:$A4', 'values': '=學生等級!$B1:$B4', 'name': '成績佔比' }) chart.set_title({'name': '成績佔比圖表'}) book1.insert_chart('A40', chart) excel.close() if __name__ == '__main__': result = read() write(result)
執行結果如下:
以上就是Python實現在Excel檔案中寫入圖表的詳細內容,更多關於Python Excel寫入圖表的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45