美文网首页Python_办公自动化
利用python的xlwt写入excel

利用python的xlwt写入excel

作者: Rainbow想喝奶茶 | 来源:发表于2021-09-18 15:22 被阅读0次

因为出现了希望将返回数据写入excel的需求,所以今天又去网上查询学习,我觉得其实pandas可能更好用一些,准备等节后回来详细了解一下,然后这里就先用xlwt实现一下吧(ps:不是说不好,希望xlwt不要生气)(pps:之前写了一个xlrd读取excel的分享,我总觉得必须得写一下xlwt才完整)。

xlwt模块安装

作为第三方库,使用前仍然需要下载.

pip3 install xlwt

xlwt具体使用

  • 引入模块
import xlwt

因为接口返回数据,大部分是字典形式,所以在这里写入数据的格式为字典。

test_data=[
{"name":"amy","age","18"},
{"name":"allen","age","17"}
]
  • 整体思路
    将字典数据写入excel的具体思路为:
  1. 建立工作簿及sheet。
  2. 确定表头,写入表格的第一行。
  3. 分离value,将字典中每一个键对值的值存入一个新的list中,而后按条进行切割。最终在一个list中,每一条数据的各个值是一个list。(说的仿佛不是人话)
    例如上方的test_data,切割完之后的格式为
[["amy","18"],["allen","17"]]
  1. 将每一条数据的值写入表格的每一行(从第二行开始,第一行是表头)。
  2. 保存文件。

具体实现

注意看注释哦~~

import os
import xlwt
path=os.path.abspath(os.path.pardir)
value_list=[]
class writeexcel():
   def write_xls(self):
        #建立工作簿及确定sheet
        file = xlwt.Workbook(encoding='utf-8')
        sheet = file.add_sheet('sheet1')
        #确定表头,写入表格的第一行
        heads=["name","age"]
        ls=0
        for head in heads:
            sheet.write(0,ls,head)
            ls+=1
        #分离value,将字典中每一个键对值的值存入一个新的list中
        for n in test_data:
            for value in n.values():
                value_list.append(value)
        #将每一条数据的各个值存入另一个list中
        new_list = [value_list[i:i + 2] for i in range(0, len(value_list), 2)]
        #将每一条数据的各个值写入表格的每一行(从第二行开始,第一行是表头)
        i=1
        for list in new_list:
            j=0
            for d in list:
                sheet.write(i,j,str(d))
                j+=1
            i+=1
        #保存文件,直接写入名称会保存在当前文件目录下。
        file.save('test_data.xls')

下一篇估计节后了,pandas见!

自我记录,有错误欢迎指正~~

相关文章

网友评论

    本文标题:利用python的xlwt写入excel

    本文链接:https://www.haomeiwen.com/subject/sexygltx.html