国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python xlsxwriter庫生成圖表的應用示例

2020-02-22 23:29:39
字體:
來源:轉載
供稿:網友

xlsxwriter可能用過的人并不是很多,不過使用后就會感覺,他的功能讓你嘆服,除了可以按要求生成你所需要的excel外

還可以加上很形象的各種圖,比如柱狀圖、餅圖、折線圖等。

xlsxwriter 基本用法,創建 xlsx 文件并添加數據

官方文檔:http://xlsxwriter.readthedocs.org/  

xlsxwriter 可以操作 xls 格式文件

注意:xlsxwriter 只能創建新文件,不可以修改原有文件。如果創建新文件時與原有文件同名,則會覆蓋原有文件

Linux 下安裝: sudo pip install XlsxWriter

Windows 下安裝: pip install XlsxWriter

請看本人生成的:

 

這里包含了數據公式的計算,插入圖片的連接,生成的圖表,當然如果你還需要其他的功能,可以繼續參考庫的文檔

下面把源代碼貼出來,希望對大家在工作遇到類似的情況,可以直接拿去用。

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Eric.yueimport xlsxwriterimport randomfrom datetime import dateimport collectionsdef xlwt_chart(xl_obj,table):  #生成柱狀圖  column_chart = xl_obj.add_chart({'type':'column'})  column_chart.add_series({    'name':'=sheet1!$D$1',    'categories':'=sheet1!$D$2:$D$7',    'values':'=sheet1!$E$2:$E$7'  })  table.insert_chart('G2',column_chart)  #生成餅圖  column_chart2 = xl_obj.add_chart({'type':'pie'})  column_chart2.add_series({    'name': '=sheet1!$D$1',    'categories':'=sheet1!$D$2:$D$7',    'values': '=sheet1!$E$2:$E$7'  })  table.insert_chart('G20', column_chart2)def xlwt_run():  data_base = ['0-50','50-60','60-70','70-80','80-90','90-100']  #生成一個有序的字典  chart_dict = collections.OrderedDict.fromkeys(data_base,0)  xl_obj = xlsxwriter.Workbook('chart.xlsx')  table = xl_obj.add_worksheet('sheet1')  table.write_string(0,0,u'姓名')  table.write_string(0,1,u'成績')  table.write_string(0,2,u'日期')  table.merge_range('D1:E1', u'成績分布')  table.set_column('C:E',15)  #定義格式  date_format = xl_obj.add_format({'num_format':'yyyy-mm-dd'})  color_format = xl_obj.add_format({'color':'red'})  font_format = xl_obj.add_format({'font_color':'green','bold':True})  mm = 1  for i in xrange(1,40):    name = 'name_%d' % i    score = random.randint(30,100)    if score <= 50:      chart_dict['0-50'] += 1    elif score>50 and score<=60:      chart_dict['50-60'] += 1    elif score>60 and score<=70:      chart_dict['60-70'] += 1    elif score>70 and score<=80:      chart_dict['70-80'] += 1    elif score>80 and score<=90:      chart_dict['80-90'] += 1    else:      chart_dict['90-100'] += 1    if score > 60:      table.write_string(i, 0, name)      table.write_number(i, 1, score)    else:      table.write_string(i, 0, name, color_format)      table.write_number(i, 1, score, color_format)    table.write_datetime(i, 2,date.today(), date_format)    mm = mm + 1  #生成圖表數據  row = 1  for k,v in chart_dict.items():    table.write_string(row, 3, k, font_format)    table.write_number(row, 4, v, font_format)    row = row+1  xlwt_chart(xl_obj,table)  #使用公式  table.write_formula(mm,1,'=AVERAGE(B2:B40)')  #插入帶鏈接的圖片  table.insert_image('D20',r'/home/mywork/pythonchina/cto51_log/bd_logo12.png',{'url':'https://www.baidu.com'})  #關閉excel句柄  xl_obj.close()if __name__ == '__main__':  xlwt_run()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应城市| 梁河县| 巴彦淖尔市| 乡城县| 永和县| 延吉市| 鄂尔多斯市| 合阳县| 尚志市| 富阳市| 上林县| 从江县| 平凉市| 疏附县| 青龙| 阿合奇县| 甘南县| 中宁县| 鄱阳县| 西藏| 长岭县| 海南省| 宝坻区| 正阳县| 图木舒克市| 沙河市| 姜堰市| 阜城县| 高安市| 集贤县| 洛浦县| 宁城县| 岐山县| 固原市| 历史| 新乡县| 卢龙县| 富阳市| 金川县| 阜城县| 彩票|