博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python xlsxwriter系列教程 03 -- 快速入门教程三
阅读量:6032 次
发布时间:2019-06-20

本文共 2191 字,大约阅读时间需要 7 分钟。

Python中不同的数据类型写入Excel是不同的,比如数字,字符串,日期等。字串数字和数字写入Excel虽然显示效果一样,但是如果你想使用公式进行计算时,这个时候就会出现问题。

  • Excel对输入数据的不同类型(如字符串和数字)的处理方式不同

  • xlsxwriter中的write()方法会将Python数据类型映射到Excel支持的类型的方法

  • write方法可以自动的做以下方法的自动转换,可以使用write()替代以下方法:
write_string()write_number()write_blank()write_formula()write_datetime()write_boolean()write_url()

当然,你可以显示的调用以上的方法,比如:

worksheet.write_string  (row, col,     item              )worksheet.write_datetime(row, col + 1, date, date_format )worksheet.write_number  (row, col + 2, cost, money_format)

其实write()方法可以自动帮助我们完成,使用write()让代码看起来更加的简洁。

使用Demo

# -*- coding: utf-8 -*-"""@author:随时静听@file: 写入其他数据类型.py@time: 2018/08/27@email:wang_di@topsec.com.cn"""#导入xlsxwriter 用于创建xlsximport xlsxwriterfrom datetime import datetime#创建 一个Workbook 实列book=xlsxwriter.Workbook(u'日期格式写入.xlsx')#添加一个工作簿sheet=book.add_worksheet()## 以写入日期类型类例子#创建 格式实例对象bold=book.add_format({'bold':1}) #粗体设置money_format=book.add_format({'num_format': '$#,##0'})date_format=book.add_format({'num_format': 'mmmm d yyyy'})#创建好实例后如果后期有别的需要可以通过实例来动态的修改格式,规则都是set_+key来设置money_format.set_font_color('#2E68AA')#设置字体颜色#通过 set_column(colum_statr,column_end,width)设置Excel表格的列宽度sheet.set_column(1,1,20) #第二列(B)列宽设置20#通过 set_row(row_num,height)设置Excel表格的行高for row_ in range(20):    sheet.set_row(row_,20)#第1-20行设置行高20#写入标题sheet.write('A1', 'Item', bold)sheet.write('B1', 'Date', bold)sheet.write('C1', 'Cost', bold)#待写入数据expenses = (     ['Rent', '2013-01-13', 1000],     ['Gas',  '2013-01-14',  100],     ['Food', '2013-01-16',  300],     ['Gym',  '2013-01-20',   50], )row=1col=0for item , date_str,cost in expenses:    date = datetime.strptime(date_str, "%Y-%m-%d")#将字符串日期转成datetime实例    sheet.write_string(row, col, item)    sheet.write_datetime(row, col + 1, date, date_format)#带格式写入数据    sheet.write_number(row, col + 2, cost, money_format)#带格式写入数据    row+=1sheet.write(row, 0, 'Total', bold)sheet.write(row, 2, '=SUM(C2:C5)', money_format)#关闭book.close()

补充说明

  • set_column(set_range,width_value):用于设置单元格的列宽,其中set_range参数指定设置的范围,可以使用"B:E"这样格式设置

    也可以使用set_column(row,col,width_value)设置,这两种的效果一样

  • set_row(row_num,height_value):用于设置单元格的行高,row_num指定第几行,index从0开始,表示第一行

效果展示

日期格式写入展示

转载于:https://www.cnblogs.com/ssjt/articles/9542905.html

你可能感兴趣的文章
小孩的linux
查看>>
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
php闭包语法学习
查看>>
在子线程中弹土司的一段代码
查看>>
[Android]关于Root
查看>>
apache下配置php
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
创建临时文件
查看>>
PermGen space错误解决方法
查看>>
微软拟对Office 2007增添新功能 增强安全性
查看>>
艾伟:memcached全面剖析–3.memcached的删除机制和发展方向
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)...
查看>>
Oozie与Coordinator调度讲解及系统时区配置与定时触发两种配置方式
查看>>