您好,登錄后才能下訂單哦!
這篇“Python怎么實現在Excel文件中寫入圖表”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python怎么實現在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文件中寫入圖表”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。