亲宝软件园·资讯

展开

Python EXCEL表格

二十六夜. 人气:0

一、前期准备

此篇使用两种导入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数据处理的过程外,顺便将一些个人碰到的问题摘取下来,给出个人当时解决该类问题的方法与经验,并分享出来,适用于从零开始学习的朋友。并非专业的编程博主,存在的表述不正确等问题还请指出与理解。本篇为基础准备部分,后续会逐步分享其他的数据分析操作的教程。

加载全部内容

相关教程
猜你喜欢
用户评论