一、前期准备
此篇使用两种导入excel数据的方式,形式上有差别,但两者的根本方法实际上是一样的。
首先需要安装两个模块,一个是pandas,另一个是xlrd。
在顶部菜单栏中点击文件,再点击设置,然后在设置中找到以下界面,并点击“+”号。
然后会出现以下界面,在搜索框中分别搜索以上两个模块:pandas/xlrd。
选中搜索出来的模块,并点击左下角的的安装按钮,便可将模块安装到自己电脑中。
需要注意的是,xlrd的新版本并不支持xlsx格式的excel表格,如果安装新版本的xlrd模块则会导致在运行代码的时候报错,而解决办法则是选择较低版本的xlrd模块进行安装。一般推荐安装1.2.0的版本即可。
当两个模块都安装好后,便可以开始编写代码用python来读取excel表格里的数据了。
二、编写代码基本思路
编写代码前需要思考打开EXCEL表格需要几步,或者说是哪些步骤。
(1)通过文件路径打开文件的工作簿。
(2)根据名称找到工作表。
(3)根据行(nrows)和列(ncols)读取单元格的位置。
(4)通过单元格位置获取单元格当中的数据(数值)。
三、编写代码读取数据
首先是第一种方式,即导入pandas的方式来读取EXCEL表格中的数据。
其中 r"D:\杂货\编码数据.xlsx" 为表格路径,sheet_name="Sheet1"为所读取的表单Sheet1。
pd.read_excel()为读取表格所使用的方法。
import pandas as pd#导入pandas库
fm=pd.read_excel(r"D:\杂货\编码数据.xlsx",sheet_name="Sheet1")#用该方法读取表格和表单里的单元格的数据
print(fm)
运行以上代码便可输出以下结果,由于表单的数据过多,因此在输出时其中间数据会以“···”的形式省略掉。
接下来是使用导入xlrd模块的方式来读取表格数据。
其中使用了xlrd.open_workbook()方法来打开EXCEL文件。
sheet_by_name()方法用于打开EXCEL文件中的Sheet表单。
通过两个for循环遍历出每个单元格的“行”和“列”的值,相当于坐标系中的“横轴”和“纵轴”,由此可以定义一个点的位置,EXCEL表格中同理,通过行列的数值可以得到指定单元格中的值。
最后将读取得到的每一个单元格的值放入到dataset这个列表中,并通过pprint输出该列表(若pprint报错则需要到设置中添加pprint,方法同本文“一、前期准备”部分),输出结果可见下图。
注:网络上有些代码示例在for循环中的range()函数可能会写成xrange()函数,而在python3中两者的功能都能在range()函数中实现,因此可直接使用range()函数,而不必太纠结于xrange()函数的问题。
import xlrd#导入xlrd库
file='D:/杂货/编码数据.xlsx'#文件路径
wb=xlrd.open_workbook(filename=file)#用方法打开该文件路径下的文件
ws=wb.sheet_by_name("Sheet1")#打开该表格里的表单
dataset=[]
for r in range(ws.nrows):#遍历行
col=[]
for l in range(ws.ncols):#遍历列
col.append(ws.cell(r, l).value)#将单元格中的值加入到列表中(r,l)相当于坐标系,cell()为单元格,value为单元格的值
dataset.append(col)
from pprint import pprint#pprint的输出形式为一行输出一个结果,下一个结果换行输出。实质上pprint输出的结果更为完整
pprint(dataset)
由于使用了循环遍历的方法,因此该处输出的结果为EXCEL文件中所包含的所有的单元格的值,因此输出结果很长,与前一部分的输出结果稍有不同。
四、结语
以上便是本篇的所有内容,编写该文的目的除了记录自学python数据处理的过程外,顺便将一些个人碰到的问题摘取下来,给出个人当时解决该类问题的方法与经验,并分享出来,适用于从零开始学习的朋友。并非专业的编程博主,存在的表述不正确等问题还请指出与理解。本篇为基础准备部分,后续会逐步分享其他的数据分析操作的教程。
到此这篇关于Python处理EXCEL表格导入操作分步讲解的文章就介绍到这了,更多相关Python EXCEL表格内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!