python 使用xlrd和xlwt操作excel

前言

最近我爬页面的时候把数据存到了list集合中,然而我想存到excel表里便于观看,经过查找发现可以使用xlrd和xlwt来操作excel,

一、问题

因为我是多个list想放到一列中,并且每个list的数据之间要留有空隙,那我的想法是先把第一个list放进去,然后获取文档当前的行数,再放第二个,然后第三个,结果出现了问题,我只能先使用xlwt保存excel然后再使用xlrd打开excel读取行数,不能不保存直接读取,
还有就是想着用xlwt保存然后用openpyxl操作excel,发现不可以,xlwt创建的excel只能用xlrd读取不能用openpyxl

二、代码

接下来上代码(emmmmmm这个感觉很像翠花,上酸菜)

import xlwt
import xlrd
list1=['张三1','张三2','张三3','张三4']
list2=['李四1','李四2','李四3','李四4']
list3=['王五1','王五2','王五3','王五4']

#1.打开excel
f=xlwt.Workbook()
#添加sheet
sh=f.add_sheet('班级')
f.save('tests.xls') #保存
#2.把list1放入sheet
for i in range(len(list1)):
    sh.write(i,0,list1[i])
f.save('tests.xls') #保存
#3.把list2放入sheet,list2应该在list1的下面,所以先获取sheet的行数rows,然后从第rows行的下面开始写入
#3.1先打开文档,在获取行数
file=xlrd.open_workbook('tests.xls')
sheet=file.sheet_by_name('班级')
rows=sheet.nrows
print(rows)
#3.2把list2写入excel
for i in range(len(list2)):
    sh.write(rows+1+i,0,list2[i])
f.save('tests.xls') #保存
#4.然后写入第三个list
#4.1也是先获取行数
file=xlrd.open_workbook('tests.xls')
sheet=file.sheet_by_name('班级')
rows=sheet.nrows
print(rows)
#4.2把list3写入excel
for i in range(len(list3)):
    sh.write(rows+1+i,0,list3[i])
f.save('tests.xls') #保存
#最后保存

三、运行结果

完美的达到了我们想要的结果,鼓掌papapappappapapa
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值