本文使用的是Python集成运行环境Anaconda
0.前期准备
安装好Anaconda后,到你的“终端”(Linux, macOS)或者“命令提示符”(Windows)下面,
执行以下命令:
conda install pandasconda install xlrd
下载完成后,执行
jupyter notebook
进入 jupyter notebook
1.导入excel
1.1 利用pandas中的read_excel()函数读取excel内容
read_excel()函数能够读取的格式包含:xls, xlsx, xlsm, xlsb, odf, ods 和 odt 文件扩展名。支持读取单一sheet或几个sheet。
import pandas as pdrd=pd.read_excel(r"C:\Users\whw\Desktop\文件名.xlsx","Sheet1",header=0)
结果如下图所示:
1.2 下面详细了解一下read_excel()函数
read_excel默认参数
def read_excel(io, #io为必填,文件类对象,即读取文件的路径,其余可选 sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)
1.2.1 io
io为文件类对象,一般作为读取文件的路径:
rd=pd.read_excel(r”C:\Users\whw\Desktop\products.xlsx”)
1.2.2sheet_name
该参数为指定读取excel的表格名,两种方式:
(1)直接写入sheet名
rd=pd.read_excel(r”C:\Users\whw\Desktop\products.xlsx”,“Sheet名”,header=0)
(2)参数默认从0开始,即若想读第2张表则将参数改为1即可
rd=pd.read_excel(r”C:\Users\whw\Desktop\products.xlsx”,sheet_name=0,header=0)
1.2.3 header
该参数为指定列表中从第几行作为列索引/列名(默认为值为0)
1.2.4names
此参数接收一个数组,将列名重定义赋值:
excel=pd.read_excel("products.xlsx",names=['ID','Name','1','2','3'])
1.2.5 index_col
此参数为指定从第几列开始索引(即将第几列选择为第一列进行索引),默认为0(0基)
1.2.6 usecols
该参数为返回指定的列,
usecols=”A,C:E” #返回excel中的A列,C到E列,也可以传入列表usecols=[0,2],或者usecols=[“ID”,”name”]这种形式
excel=pd.read_excel(r"r"C:\Users\whw\Desktop\文件名.xlsx",usecols="A,C:D")
1.2.7 parse_cols
指定需要解析的字段,自0.21.0版后不推荐使用:改为使用usecols。
1.2.8 squeeze
若待处理的excel数据仅有一列时,此时设定为True将转换为Series
1.2.9 dtype
指定读取列的数据类型,可接收字典。
1.2.10 engine
该参数为指定Excel处理引擎
可以接受的参数有“ xlrd”,“ openpyxl”或“ odf”,用于使用第三方的库去解析excel文件。
- engine=xlrd 支持较旧格式(.xls)
- engine=openpyxl 支持较新的格式
- engine=odf 支持OpenDocument电子文档 (.odf, .ods, .odt)
- engine=pyxlsb 支持二进制表格 (.xlsb)
- engine = None 自动根据格式选择 默认。
- 注: 可以考虑用xlrd读取,用openpyxl写入。但是xlrd对.xlsx文件的支持不太好,可能还需要用老版本才行。
excel=pd.read_excel(r"r"C:\Users\whw\Desktop\文件名.xlsx",engine='xlrd')
1.2.11 converters
指定列数据类型转换函数,包括了dtype的功能,也可以对某一列使用Lambda函数,进行某种运算
1.2.12nrows
指定需要读取前多少行,通常用于较大的数据文件中。
1.2.13date_parser
处理日期类数据,可以将日期类字段组合成日期格式。
parse_dates={“日期” : [0,1,2]} #{ “新列名” : [指定列/字段] }