excel学习库

excel表格_excel函数公式大全_execl从入门到精通

「前置知识之xlsxwriter模块」写入Excel基本流程及模块简单应用

前面章节,介绍了xlwt模块在写入Excel中的一些常用操作。其实,xlwt这个模块在处理Excel的过程中,优点并不多,缺点倒是不少。今天,我们来介绍另一款比xlwt更好用的模块—xlsxwriter。今天的内容我们简单介绍下xlsxwriter这个模块的使用流程。文末,我们通过一个案例来回顾所学内容。为什么要用xlsxwriter模块 原因有下面几点: 比较xlwt支持更多的Excel功能,是xlwt的加强版100%兼容Excel文件,不存在版本差异不兼容的问题(兼容Excel 2003、 Excel 2007等版本)处理Excel文件的速度比xlwt更快,支持大文件写入,占用内存空间小xlwt有行数限制,而xlsxwriter几乎突破了这个限制,它可以处理1048576行数据、16384条记录表格中可以支持插入很多类型的图片(PNG/JPEG/GIF/BMP/WMF/EMF)、图表(散点、雷达……)等集成pandas后续,我们会将这些特点一一举例说明。基于上述原因,建议小伙伴们使用这个模块替代xlwt模块。但跟其它模块,比如openpyxl相比,它也有缺点,比如,xlsxwriter这个模块只能写,不能读取和编辑Excel文件。xlsxwriter模块使用流程 下面,我们介绍如何使用这个模块,并按步骤创建一个Excel文件。 【导入模块】 对于任何一个第三方模块,使用前,我们先执行导入操作。 import xlsxwriter 其实,xlsxwriter这个模块同xlwt很像,甚至很多方法名称都是一样的。比如,创建一个Workbook对象。【创建一个工作簿对象】 workbook = xlsxwriter.Workbook("test.xlsx") 这里的文件名称是必须要传入的参数,否则保存时会提示出错。 AttributeError: 'NoneType' object has no attribute 'write' 当然,这里不用担心版本问题,使用“*.xlsx”和“*.xls”文件名都可以。然后,我们在工作簿里面创建工作表。 【创建工作表】 worksheet = workbook.add_worksheet() 这里方法内传入一个表名称,如果不传入,则默认命名为“Sheet1”。 【写入内容】 然后向工作表中写入一些内容,方法基本上同xlwt模块一样。 worksheet.write(0, 0, '这是一些测试内容!') 效果如下写入内容如何为单元格写入格式呢? 【写入格式】 这里的格式包含很多内容,比如单元格的边框、字体大小、颜色等等,我们后文会有很详尽的介绍,这里不再赘述。通常使用下面方法来写入。需要注意的是,这里的写入格式方法是Workbook对象实例的一个方法。formatname = workbook.add_format({"bold": True}) # 这里添加了一个字体加粗的格式 然后,我们可以在写入内容时,调用这个格式。 worksheet.write(0, 0, '这是一些测试内容!', formatname) 应用格式后,效果如下:写入格式文本进行了加粗显示。 【保存Excel】 通常情况下,上面两幅图的效果我们是看不到的。除非我们调用这个workbook的close方法,该方法会保存我们的内容即格式。 workbook.close() 上面几个简单的步骤,我们创建了一个工作簿,并在工作簿中添加表格,向表格写入内容和格式,然后保存。试想,我们一般使用Excel是不是按照这个步骤呢?现在,你可以利用编码创建一个自己的工作簿,并向里面写入一些有意思的内容了。 下面,我们对比学习一下xlsxwriter和xlwt这两个模块在创建Excel时的方法。 xlwt和xlsxwriter使用对比 下面,我们对比学习下xlwt和xlsxwriter这两个模块。上面提供了一些方法的对比。 需要注意的是,xlsxwriter这个模块扩充了一些功能: 【单元格定位】 在单元格定位时,提供了一种更加便捷的方法。可以使用“字母+数字”(如:A1)的方式来定位单元格。 比如,上面的ws.write(0, 0, "这是一个测试内容!", fname) 可以写成:ws.write("A1", "这是一个测试内容!", fname) 类似Excel的单元格定位标识方式,更加灵活。来看一个简单的例子。 举个例子 接上文的例子,我们将1990年到2019年全国各省份人口数据提取出来,按照省份进行归类并写入一个Excel工作表中。源代码及人口数据下载方式见文末。 原始表格是这样,如下图所示:原始表格按要求,我们将每个省份的年度人口数据提取到单独的表格中,如下图:效果图现在我们来实现这个案例。 购买专栏解锁剩余17%

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接