python用pandas读取excel_Python 使用Pandas读取Excel的学习笔记

这里介绍Python中使用Pandas读取Excel的方法

一、软件环境:

OS:Win7 64位

Python 3.7

二、文件准备

1、项目结构:

934739-20190320224622616-238434439.png

2、在当前实验文件夹下建立一个Source文件夹,里面放待读取的Excel文件

3、待读取的Excel文件名:Book1.xlsx,Sheet Name:Sheet1

内容示例:

934739-20190320224846417-960170280.png

三、代码参考

代码中已进行了注释说明,这里就不重复说明了。

1、第一行作为列名处理,数据的第1行实际是从Excel的第2行开始,数据的最大行数等于Excel的最大行数减1

#! -*- coding utf-8 -*-#! @Time :2019/3/20 22:00#! Author :Frank Zhang#! @File :Pandas_ReadExcelV1.0.py#! Python Version 3.7

"""模块功能:读取当前文件夹下的Source里的Excel文件,显示其相关信息

说明:默认把Excel的第一行当做列名,数据的第1行是从Excel的第2行开始

这里获取的最大行是Excel的最大行减去作为列名的第1行"""

importpandas as pd

sExcelFile="./Source/Book1.xlsx"df= pd.read_excel(sExcelFile,sheet_name='Sheet1')#获取最大行,最大列

nrows=df.shape[0]

ncols=df.columns.sizeprint("=========================================================================")print('Max Rows:'+str(nrows))print('Max Columns'+str(ncols))#显示列名,以列表形式显示

print(df.columns)#显示列名,并显示列名的序号

for iCol inrange(ncols):print(str(iCol)+':'+df.columns[iCol])#列出特定行列,单元格的值

print(df.iloc[0,0])print(df.iloc[0,1])print("=========================================================================")#查看某列内容#sColumnName='fd1'

print(df[sColumnName])#查看第3列的内容,列的序号从0开始

sColumnName=df.columns[2]print(df[sColumnName])#查看某行的内容

iRow=1

for iCol inrange(ncols):print(df.iloc[iRow,iCol])#遍历逐行逐列

for iRow inrange(nrows):for iCol inrange(ncols):print(df.iloc[iRow,iCol])print('=====================================End==================================')

2、不把第1行作为列名,读取Excel那就没有列名,需增加参数:header=None

代码如下:

#! -*- coding utf-8 -*-#! @Time :2019/3/20 9:44#! Author :Frank Zhang#! @File :Pandas_ReadExcelV1.1.py#! Python Version 3.7

"""模块功能:读取当前文件夹下的Source里的Excel文件,显示其相关信息

说明:数据从第1行开始,不设列名,不把第1行作为列名

这里获取的最大行就是是Excel的最大行"""

importpandas as pd

sExcelFile="./Source/Book1.xlsx"df= pd.read_excel(sExcelFile,sheet_name='Sheet1',header=None)#获取最大行和最大列数

nrows=df.shape[0]

ncols=df.columns.sizeprint("=====================================================")print('Max Rows:'+str(nrows))print('Max Columns:'+str(ncols))#显示某特定单元格的值

print(df.iloc[0,0])print(df.iloc[0,1])print("=====================================================")#查看某行的内容

print("====================显示某一行=======================")#iRow=1

print("请输入行号(1-"+str(nrows)+"):")

iRow=int(input())-1

for iCol inrange(ncols):print(df.iloc[iRow,iCol])print("====================显示某一列=======================")#iCol=1

print("请输入列号(1-"+str(ncols)+"):")

iCol=int(input())-1

if iCol>=0 and iCol<=ncols:for iRow inrange(nrows):print(df.iloc[iRow,iCol])else:print('输入了错误的列号')#遍历逐行逐列

print("\n逐行逐列显示:")for iRow inrange(nrows):for iCol inrange(ncols):print(df.iloc[iRow,iCol])print('=========================End=========================')

示例2增加了动态输入行号和列号,显示相应行列的内容。

这两个示例都是可以运行的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值