社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

手把手教你用Python读取Excel

CDA数据分析师 • 4 年前 • 453 次点击  


导读:pandas.read_excel接口用于读取Excel格式的数据文件,由于它使用非常频繁、功能强大、参数众多,因此本文专门做详细介绍。


作者:李庆辉
来源:大数据DT(ID:hzdashuju)


01 语法


pandas.read_excel接口的语法如下:


pd.read_excel(io, sheet_name=0, header=0,
              names=None, index_col=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, verbose=False,
              parse_dates=False, date_parser=None,
              thousands=None, comment=None, skipfooter=0,
              convert_float=True, mangle_dupe_cols=True, **kwds)



02 文件内容


io为第一个参数,没有默认值,也不能为空,根据Python的语法,第一个参数传参时可以不写。可以传入本地文件名或者远程文件的URL:


# 字符串、字节、Excel文件、xlrd.Book实例、路径对象或者类似文件的对象
# 本地相对路径
pd.read_excel('data/data.xlsx'# 注意目录层级
pd.read_excel('data.xls'# 如果文件与代码文件在同一目录下
# 本地绝对路径
pd.read_excel('/user/gairuo/data/data.xlsx')
# 使用URL
pd.read_excel('https://www.gairuo.com/file/data/dataset/team.xlsx')


与read_csv一样,需要注意,Mac和Windows中的路径写法不一样。



03 表格


sheet_name可以指定Excel文件读取哪个sheet,如果不指定,默认读取第一个。


# 字符串、整型、列表、None,默认为0
pd.read_excel('tmp.xlsx', sheet_name=1# 第二个sheet
pd.read_excel('tmp.xlsx', sheet_name='总结表'# 按sheet的名字

# 读取第一个、第二个、名为Sheet5的sheet,返回一个df组成的字典
dfs = pd.read_excel('tmp.xlsx', sheet_name=[01"Sheet5"])
dfs = pd.read_excel('tmp.xlsx', sheet_name=None# 所有sheet
dfs['Sheet5'# 读取时按sheet名



04 表头


数据的表头参数为header,如不指定,默认为第一行。


# 整型、整型组成的列表,默认为 0
pd.read_excel('tmp.xlsx', header=None)  # 不设表头
pd.read_excel('tmp.xlsx', header=2)  # 第三行为表头
pd.read_excel('tmp.xlsx', header=[01])  # 两层表头,多层索引



05 列名


用names指定列名,也就是表头的名称,如不指定,默认为表头的名称。


# 序列,默认为None
pd.read_excel('tmp.xlsx', names=['姓名''年龄''成绩'])
pd.read_excel('tmp.xlsx', names=c_list) # 传入列表变量
# 没有表头,需要设置为None
pd.read_excel('tmp.xlsx', header=None, names=None)



06 其他


其他参数与pandas.read_csv的同名参数功能一致,如果想使用仅pandas.read_csv有的参数,可以考虑将数据保存为CSV文件,因为CSV文件相对通用、读取数据快且处理方法比较丰富。



07 小结


本文介绍了pandas.read_excel相对于pandas.read_csv专有的参数功能。由于Excel文件在日常工作中较为常用,所以需要熟练掌握Excel的数据读取功能。另外对于一些量比较小的Excel数据文件,在做数据临时处理时,可以复制并使用pd.read_clipboard()来读取,非常方便。


本书摘编自《深入浅出Pandas:利用Python进行数据处理与分析》,机械工业出版社华章公司2021年出版。



 


点这里👇关注我,记得标星哦~


 

推荐阅读


 

CDA课程咨询

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118231
 
453 次点击