python3下使用openpyxl对xlsx进行写入操作

   笔者之前都是用xlwt进行excel文件写入的,直到今天要处理长语料的时候发生了报错:

Exception: string longer than 32767 characters.

    大意就是你要插入的数据太长,xlwt爱莫能助了。所以我们要换一下对长语料的处理方法。使用openpyxl包进行写入操作。参考链接Python使用openpyxl读写excel文件。pip安装openpyxl包的语句如下,还用豆瓣源加速下载。

pip install openpyxl -i https://pypi.douban.com/simple

     在上面的链接中我们发现openpyxl 可以用append方法将一行数据直接写入,而不用像xlwt中那样一点点循环单元位置进行写入。

from openpyxl import Workbook

#新建文件和表格
wb = Workbook()
sheet = wb.create_sheet('demo_sheet',index=0)

# 添加一行
row = [1 ,2, 3, 4, 5]
sheet.append(row)  # 这一步就可以做到将12345插入到一行中。

wb.save('demo.xlsx')  # 保存文件,注意以xlsx为文件扩展名

   很遗憾,openpyxl中只能在插入行的时候append快速插入。但是笔者要进行的操作是需要以列为单位进行插入的,所以要将这一行数据进行转置处理。然后再使用append方法进行大批量插入。

   综上,从插入效率上看,openpyxl的append要远胜于xlwt的循环单元格写入。可以当作以后读写excel文件的主要方法。

 

 

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值