电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用python庫xlsxwriter庫來輸出各種xlsx文件的示例

瀏覽:2日期:2022-07-12 16:11:32

功能性的文章直接用幾個最簡單的實現表達:

xlsxwriter庫的核心就是其Workbook對象。

創建一個指定名字的xlsx文件:

import xlsxwriterfilename = ’/Users/piperck/Desktop/axiba.xlsx’test_book = xlsxwriter.Workbook(filename)worksheet = test_book.add_worksheet()test_book.close()

創建一個Workbook的實例對象。可以傳入一個文件名字,如果不想生成的文件在當前路徑下面,可以在文件名字前面帶上絕對路徑。

add_worksheet()就是增加一個sheet

然后關閉這個對象,完成xlsx文件的生成。

創建一個指定名字的sheet并且為其添加一些數據:

import xlsxwriterfilename = ’/Users/piperck/Desktop/axiba.xlsx’test_book = xlsxwriter.Workbook(filename)worksheet = test_book.add_worksheet(’what’)expenses = ( [’Rent’, 1000], [’Gas’, 100], [’Food’, 300], [’Gym’, 50],)# 定義起始的行列 會在這個基礎上 行列各加一 作為初始行列row = 0col = 0for item, cost in expenses: worksheet.write(row, col, item) worksheet.write(row, col+1, cost) row += 1worksheet.write(row, col, ’=sum(B0:B4)’)test_book.close()

我們可以使用得到的worksheet對象來添加其行列數據,如上所示。注意最后添加數據可以直接在第三個參數里面使用函數。

創建一個有指定樣式的Workbook:

這個方法其實。。應該有非常多的參數,大家根據實際需要可以具體去查詢更多的屬性。這個樣式要在Workbook的對象上加。

import xlsxwriterfilename = ’/Users/piperck/Desktop/axiba.xlsx’test_book = xlsxwriter.Workbook(filename)worksheet = test_book.add_worksheet(’what’)bold = test_book.add_format({’bold’: True})test_book.add_format()expenses = ( [’Rent’, 1000], [’Gas’, 100], [’Food’, 300], [’Gym’, 50],)# 定義起始的行列 會在這個基礎上 行列各加一 作為初始行列row = 0col = 0for item, cost in expenses: worksheet.write(row, col, item, bold) worksheet.write(row, col+1, cost) row += 1test_book.close()

關于更多的參數,完全可以參看源代碼里面的property字典下面初始化的那一堆東西,應該都是。

根絕著就能解決大部分問題了,如果有更多的需求就查閱下面的文檔即可。

通用做法可能會基于此再做一些東西來包裝 xlsxwriter 來讓他更好用,這個就看大家對自己業務需要抽象的能力了。

Reference:

https://xlsxwriter.readthedocs.io xlsxwriter doc

在當前文件夾生成

#coding=utf-8def get_excel(): ''' 生成excel :return: ''' import xlsxwriter workbook = xlsxwriter.Workbook('test.xlsx') worksheet = workbook.add_worksheet() # 樣式 formats = Struct() # 字典轉化為點語法 formats.base = {'font_name': u'宋體', 'font_size': 11, 'align': 'center', 'valign': 'vcenter', 'text_wrap': True} # formats.condition = dict_merge(formats.base, {'align': 'left'}) formats.bold = {'bold': True} # 加粗 formats.row = dict_merge(formats.base, {'border': 1}) formats.first_row = dict_merge(formats.row, {'bold': True}) # 首行 formats.more_row = dict_merge(formats.row, {}) # 普通行 formats.more_row_even = dict_merge(formats.row, {'bg_color': '#dddddd'}) # 普通行-奇數 # 篩選條件行 worksheet.merge_range(’A1:F1’, '') # 合并單元格 conditions_list = [] # 條件 province = ’省’ city = ’市’ county = ’地區’ name = ’姓名’ phone = ’電話’ date = ’2018-6’ if province or city or county: area_name = province + city + county conditions_list.append(workbook.add_format(formats.bold)) conditions_list.append(u’地區:’) conditions_list.append(u’%s ’ % area_name) if name: conditions_list.append(workbook.add_format(formats.bold)) conditions_list.append(u’姓名:’) conditions_list.append(u’%s ’ % name) if phone: conditions_list.append(workbook.add_format(formats.bold)) conditions_list.append(u’手機:’) conditions_list.append(u’%s ’ % phone) if date: year, month = date[0:4], date[5:7] conditions_list.append(workbook.add_format(formats.bold)) conditions_list.append(u’創建時間:’) conditions_list.append(u’%s/%s ’ % (year, month)) if conditions_list: # 如果有條件 worksheet.write_rich_string(’A1’, *conditions_list) # 首行 # 表格首行 cols = ['姓名', '電話', '地區'] for col_index, col in enumerate(cols): worksheet.write(1, col_index, col, workbook.add_format(formats.first_row)) # 第二行,col_index列, col_index從0開始,也就是第一列開始 data_list = [{'name': 'Spencer', 'tel': '13888888888', 'reg': '中國'},{'name': 'Jeff', 'tel': '139999999999', 'reg': '臺灣省'}] # 表格其余行 for row_index, u in enumerate(data_list, start=2): # 因為前兩行都被占用了,所以從第三行第一列開始 # 斑馬條 if row_index % 2 != 0: row_format = formats.more_row # excel格式普通行 else: row_format = dict_merge(formats.more_row_even) # excel格式奇數行# 日期格式 date_format = dict_merge(row_format, {'num_format': 'yyyy/mm/dd hh:mm'}) # 靠左 left_format = dict_merge(row_format, {'align': 'left'}) # 第一個參數:行,第二個參數:列,第三個參數:數據,第四個參數:屬性 worksheet.write(row_index, 0, u[’name’], workbook.add_format(row_format)) worksheet.write(row_index, 1, u[’tel’], workbook.add_format(row_format)) worksheet.write(row_index, 2, u[’reg’], workbook.add_format(row_format)) # 列寬 # 第一個參數是第幾列開始,第二個人參數是從第幾列結束 # 比如下方第一個就是設置第一列為20,第二個就是設置第二列為10,第三個就是設置3到6列為20 worksheet.set_column(0, 0, 20) worksheet.set_column(1, 1, 10) worksheet.set_column(2, 5, 20) workbook.close()def dict_merge(*args): ''' 功能說明:合并字典 ''' all = {} for arg in args: if not isinstance(arg, dict): continue all.update(arg) return allclass Struct(dict): ''' - 為字典加上點語法. 例如: >>> o = Struct({’a’:1}) >>> o.a >>> 1 >>> o.b >>> None ''' def __init__(self, dictobj={}): self.update(dictobj) def __getattr__(self, name): # 如果有則返回值,沒有則返回None if name.startswith(’__’): raise AttributeError return self.get(name) def __setattr__(self, name, val): self[name] = val def __hash__(self): return id(self)if __name__ == ’__main__’: get_excel()

到此這篇關于使用python庫xlsxwriter庫來輸出各種xlsx文件的示例的文章就介紹到這了,更多相關python xlsxwriter輸出xlsx內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 上海物流公司,上海货运公司,上海物流专线-优骐物流公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 润滑脂-高温润滑脂-轴承润滑脂-食品级润滑油-索科润滑油脂厂家 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 陕西视频监控,智能安防监控,安防系统-西安鑫安5A安防工程公司 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 湖南教师资格网-湖南教师资格证考试网 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 步入式高低温测试箱|海向仪器 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 |