引言
excel搭配python这个话题在楼主看来有点别扭,其实excel本身已经非常强大了,可以这么说,excel+python能实现的,excel单独也能实现。
excel单独就能连接sql server数据库,发送sql语句获取数据,驾驭海量数据;
excel单独就能设计出自定义的可视化用户交互界面(userform);
excel甚至可以做爬虫。。。
楼主自己的实际工作,快10年了,在做了的四、五十个项目中,真正用上excel+python的就两个项目
不过,有些事情单独使用excel确实费时费力,用vb写代码,还真没用python写来的舒服省力。
那废话就不多说了,开一个系列来讲excel+python,涉及到的两个主要的库就是pandas和xlwings。
先来讲pandas,主要会围绕pandas与excel相关的知识点来讲
本篇文章呢我们来详细的了解一下read_excel,这个pandas的数据读取函数
正文
一、基础知识
pandas可以读取多种的数据格式,针对excel来说,读取的方法为read_excel,假设我有一个名为”test.xlsx“的文件,那么如果要读取我们可以这样写:
import pandas as pd
df = pd.read_excel("test.xlsx")
简单吧?非常简单
但有一个隐藏的细节要注意,就是pandas在读取excel文件的时候需要调用读取文件的第三方库(称为引擎)。
举个不太恰当的例子,张三买车得到了一次砸金蛋的机会,他当然不能用手砸,于是他顺手抄起旁边的锤子就砸了一个金蛋。
这个例子里面的张三相当于pandas,金蛋就是excel文件,锤子就是读取文件的引擎。
我们来看一下pandas的API文档中对读取引擎的描述:
Supported engines: “xlrd”, “openpyxl”, “odf”, “pyxlsb”. Engine compatibility :
“xlrd” supports old-style Excel files (.xls).
“openpyxl” supports newer Excel file formats.
“odf” supports OpenDocument file formats (.odf, .ods, .odt).
“pyxlsb” supports Binary Excel files.
也就是说,pandas支持4种excel文件的读取引擎,我们用的最多的是"xlrd"和"openpyxl&