用Python处理excel数据 xlwt xlrd

前言

之前在学爬虫的时候,有学到用Python将爬取的数据保存在excel中,不过只是用xlwt库进行写操作。

昨天,一个应用数学专业同学来找我,说晚上要交期中作业,让我帮他处理点数据,数据是保存在excel文件,本着助人为乐的精神,帮他写了个py脚本,随便学到了如何用xlwt(实现写操作)和xlrd(实现读操作)两个第三方库处理excel文件。

第三方库

其实,不止有xlwt和xlrd这两个库能够处理excel数据,只不过是我用过xlwt这个库,比较熟悉,所以就接着用了。

各个库对比:

xls文件和xlsx文件

从图可以看出,我用到的库只能处理xls文件,而不能处理xlsx文件,这两种文件格式有何差别?

文件核心结构不同:

xls核心结构是复合文档类型的;

xlsx 的核心结构是 XML 类型的结构,并且基于XML进行压缩(占用空间更小),所以也可以看做zip文件,将一个“.xlsx”文件的后缀改为ZIP后,用解压软件解压,可以看到里面有一个xml文件和文件的主要内容。

最大行列得数量不同:

xls最大只有65536行、256列

xlsx可以有1048576行、16384列

根据网上的解释,xlsx文件能够保存的数据量更大,并且占用空间更小,毕竟是后来推出的文件格式。

要使用我们的xlwt和xlrd库,就得先将xlsx文件转换为xls文件,大家可以在wpsoffice另存为中进行转换。

注意:xls文件最多支持256列,转换的时候要留心自己的xlsx文件列数是否超出。

安装库

pip install xlwt
pip install xlrd

xlwt库

该库能够实现excel文件的写操作。

    workbook=xlwt.Workbook(encoding="utf-8")#创建workbook对象
    worksheet=workbook.add_sheet("sheet1")#创建工作表
    worksheet.write(0,2,"hi")#在第0行第2列写入"hi"字符串
    workbook.save("myData.xls")#保存数据

xlrd库

该库能够实现excel文件的读操作。

    workbook = xlrd.open_workbook("myData.xls")#打开文件
	sheet_name = workbokk.sheet_names()#获取所有sheet名称
    sheet = workbook.sheet_by_index(0)#根据索引获取sheet
    #sheet = workbook.sheet_by_name('shee1')#根据名字获取sheet
    # sheet1的名称,行数,列数
	print(sheet1.name, sheet1.nrows, sheet1.ncols)
	# 获取整行和整列的值(数组)
	rows = sheet1.row_values(2) # 获取第三行内容
	cols = sheet1.col_values(0) # 获取第1列内容

参考资料

excel后缀.xls和.xlsx有什么区别

python处理excel总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值