Python 使用Pandas读取Excel的学习笔记
这里介绍Python中使用Pandas读取Excel的方法
一、软件环境:
OS:Win7 64位
Python 3.7
二、文件准备
1、项目结构:

2、在当前实验文件夹下建立一个Source文件夹,里面放待读取的Excel文件
3、待读取的Excel文件名:Book1.xlsx,Sheet Name:Sheet1
内容示例:

三、代码参考
代码中已进行了注释说明,这里就不重复说明了。
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行 """ import pandas as pd sExcelFile="./Source/Book1.xlsx"
df = pd.read_excel(sExcelFile,sheet_name='Sheet1') #获取最大行,最大列
nrows=df.shape[0]
ncols=df.columns.size print("=========================================================================")
print('Max Rows:'+str(nrows))
print('Max Columns'+str(ncols)) #显示列名,以列表形式显示
print(df.columns) #显示列名,并显示列名的序号
for iCol in range(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 in range(ncols):
print(df.iloc[iRow,iCol]) #遍历逐行逐列
for iRow in range(nrows):
for iCol in range(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的最大行 """ import pandas as pd sExcelFile="./Source/Book1.xlsx" df = pd.read_excel(sExcelFile,sheet_name='Sheet1',header=None) #获取最大行和最大列数
nrows=df.shape[0]
ncols=df.columns.size print("=====================================================")
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 in range(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 in range(nrows):
print(df.iloc[iRow,iCol])
else:
print('输入了错误的列号') #遍历逐行逐列
print("\n逐行逐列显示:")
for iRow in range(nrows):
for iCol in range(ncols):
print(df.iloc[iRow,iCol]) print('=========================End=========================')
示例2增加了动态输入行号和列号,显示相应行列的内容。
这两个示例都是可以运行的。
Python 使用Pandas读取Excel的学习笔记的更多相关文章
- 用python的pandas读取excel文件中的数据
一.读取Excel文件 使用pandas的read_excel()方法,可通过文件路径直接读取.注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件.并 ...
- 深入理解pandas读取excel,txt,csv文件等命令
pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- 机器学习之数据预处理,Pandas读取excel数据
Python读写excel的工具库很多,比如最耳熟能详的xlrd.xlwt,xlutils,openpyxl等.其中xlrd和xlwt库通常配合使用,一个用于读,一个用于写excel.xlutils结 ...
- 使用pandas读取excel
使用pandas读取excel Excel是微软的经典之作,在这里我们介绍使用Python的pandas数据分析包来解决此问题. pd.read_excel(io, sheet_name = 0, h ...
- python使用xlrd读取excel数据时,整数变小数的解决办法
python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...
- 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...
- Python的dict字典结构操作方法学习笔记
Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
随机推荐
- 创建目录mkdir
mkdir -p 在创建目录时,我们通常会先检查一下是否存在,如果不存在,就创建,这个时候通常用mkdir -p进行,但是-p是干什么用的呢. mkdir --help一下吧.也就说,如果上级目录不存 ...
- .Net脱壳工具 de4dot参数说明/简易教程
de4dot /? 帮助原文 使用方法 de4dot "d:\xx.exe" -p xc -p xc 指定壳类型 , 这里是xc,表示Xenocode壳.这样会在exe的相同目录 ...
- 浅谈SQL Server---2
浅谈SQL Server内部运行机制 https://www.cnblogs.com/wangjiming/p/10098061.html 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说, ...
- 【算法】通过TreeMap理解红黑树
本文以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red-Black tree)的插入,删除以及由此产生的调整过程. 总体介绍 Java TreeMap实现了So ...
- 我的AOP那点事儿--2
在<我的AOP那点事儿-1>中,从写死代码,到使用代理:从编程式AOP到声明式AOP.一切都朝着简单实用主义的方向在发展.沿着 Spring AOP 的方向,Rod Johnson(老罗) ...
- 解决内部元素onMouseOver/onMouseOut事件冒泡触发父元素的相应事件
前阵子为BS项目模板做了一个左侧滑动信息栏,效果类似于windows状态栏的自动隐藏效果,鼠标移进滑出,鼠标移出隐藏,浮动时不占用空间,也可以固定住占一块位置.做的过程中遇到一个问题,鼠标在信息栏内部 ...
- socket编程---UDP
头文件 #include <sys/types.h> #include <sys/socket.h> 函数原型 int sendto (int s, const void *b ...
- php中隐形字符65279(utf-8的BOM头)问题和fwrite写入文件bom头导致的乱码问题解决
php中隐形字符65279(utf-8的BOM头)问题 今天在CSDN看到一个php输出空白隐形字符65279的问题,在网上找了下,发下这个65279字符是php用来标记文件是utf-8编码的,输出 ...
- UOJ 348 【WC2018】州区划分——子集卷积
题目:http://uoj.ac/problem/348 参考:https://www.cnblogs.com/NaVi-Awson/p/9242645.html#%E5%AD%90%E9%9B%86 ...
- CentOS7 防火墙配置-详解
CentOS 7 防火墙配置 1.防火墙的简述 防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的. 在CentOS 7.x中,有了一种新的防火墙策略叫FireWall , 在6.x ...