工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人会用VBA进行处理。但编辑了VBA功能的文件通用性不好,遇到领导、同事的excel未开启宏,就用不了。其实,用Python处理excel数据,比VBA更高效,而且还简单。我们来看看如何用Python处理excel数据:
一、Python处理Excel的方式python对excel的操作是通过导入相应的功能库,然后利用库里的模块写代码实现的。与excel有关的库一般包括:xlrd、xlwt、xlutils、openpyxl、xlsxwriter,这五个库用法各异,综合来说,优先推荐opengyxl,不建议全部导入有备无患的想法。各库功能用法说明如下:
1、xlrd:读取excel文件的库导入后,执行对excel文件打开、读取数据操作。比如:
import xlrd # 导入xlrd库 wb = xlrd.open_workbook(r"e:\test.xls") sht = wb.sheets()[0] aa = sht.name bb = sht.cell_value(1, 1) print(aa, bb)
代码解析:
1、导入xlrd库
2、打开e:\test.xls文件,wb代表该打开的工作薄
3、sht代表wb工作薄里第一个表单
4、aa代表sht表单的表单名
5、bb代表sht表单里第2行第2列单元格的值
6、在终端输出aa、bb,检验运行效果。
此时,若想修改bb单元格的值,是不可以的,因为导入的xlrd库只支持读取,不支持写入、修改。
2、xlwt:向excel表格写入数据的库导入后,执行创建新表格,写入数据操作,比如:
import xlwt wb = xlwt.Workbook() sht = wb.add_sheet("表1") sht.write(0, 0, '测试数据') wb.save(r"e:\python\创建表.xls")
代码解析:
1、导入xlwt库
2、wb代表刚创建的工作薄
3、sht代表在wb工作薄中创建表单,表单名为“表1”
4、在sht表单中的a1单元格写入“测试数据”
5、保存工作薄路径及文件名为:"e:\python\创建表.xls"
3、xlutils:修改excel文件的库导入后,执行打开既有excel表格数据的修改等操作,比如:
import xlrd import xlutils as cp wb = xlrd.open_workbook(r"e:\test.xls") aa = cp.copy.copy(wb) sht = aa.get_sheet(0) sht.write(1, 1, "xxx") aa.save(r"e:\test.xls")
代码解析:
1、2、导入xlrd库和xlutils库
3、打开"e:\test.xls"文件
4、aa代表复制刚才打开的文件
5、sht代表复制的文件第一个表单
6、向sht表单第2行第2列写入“XXX”
7、还是用原名保存文件,完成文件内容的修改。
以上三个库第一次使用时可能会提示报错:提示未找到xlrd库
这是因为系统里没有对应的xlrd库造成的,我们用pip方式先给系统里安装库:打开cmd命令,输入
pip install xlrd
回车,开始安装。稍等片刻,出现下面的界面即完成安装:
再回到vscode界面,提示已经没问题了。