如何在Python中导入EXCEL数据
作者:二十六夜. 发布时间:2022-08-01 01:51:01
一、前期准备
此篇使用两种导入excel数据的方式,形式上有差别,但两者的根本方法实际上是一样的。
首先需要安装两个模块,一个是pandas,另一个是xlrd。
在顶部菜单栏中点击文件,再点击设置,然后在设置中找到以下界面,并点击“+”号。
然后会出现以下界面,在搜索框中分别搜索以上两个模块:pandas/xlrd。
选中搜索出来的模块,并点击左下角的的安装按钮,便可将模块安装到自己电脑中。
需要注意的是,xlrd的新版本并不支持xlsx格式的excel表格,如果安装新版本的xlrd模块则会导致在运行代码的时候报错,而解决办法则是选择较低版本的xlrd模块进行安装。一般推荐安装1.2.0的版本即可。
当两个模块都安装好后,便可以开始编写代码用python来读取excel表格里的数据了。
二、编写代码基本思路
编写代码前需要思考打开EXCEL表格需要几步,或者说是哪些步骤。
(1)通过文件路径打开文件的工作簿。
(2)根据名称找到工作表 。
(3)根据行(nrows)和列(ncols)读取单元格的位置。
(4)通过单元格位置获取单元格当中的数据(数值)。
三、编写代码读取数据
3.1
首先是第一种方式,即导入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)
运行以上代码便可输出以下结果,由于表单的数据过多,因此在输出时其中间数据会以“···”的形式省略掉。
3.2
接下来是使用导入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数据处理的过程外,顺便将一些个人碰到的问题摘取下来,给出个人当时解决该类问题的方法与经验,并分享出来,适用于从零开始学习的朋友。并非专业的编程博主,存在的表述不正确等问题还请指出与理解。本篇为基础准备部分,后续会逐步分享其他的数据分析操作的教程。
来源:https://blog.csdn.net/Deng333333555/article/details/125092526
猜你喜欢
- 目前有好几种方法可以将python文件打包成exe应用程序文件,例如py2exe,pyinstaller等,比较下来,还是觉得pyinsta
- 使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度
- /*Bresenham画圆算法*/var arc = function(x0,y0,r){/*起点坐标x0,y
- 前言之前在进行深度学习训练的时候,偶然发现使用PIL读取图片训练的效果要比使用python-opencv读取出来训练的效果稍好一些,也就是训
- python openvc 裁剪图片下面是4个坐标代码:import cv2#裁剪图片路径input_path,四个裁剪坐标为:y1,y2,
- Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。以下程序,不要发代码,要不实现不了你整蛊的目的。要打包成一个 exe 程序
- 如下所示:#保存 cookie 到变量import urllib.requestimport http.cookiejarcookie =
- 我们有时候看到一些文章因为一行的字符超长而把一些表格或DIV撑开或字符写到溢出了.如何防止表格防止撑开,表格不被内容撑开,单行字符超长div
- 看了一个月的文档和资料以后,终于让我参与到项目中来了,哈哈,痛快!虽然只是让我解决一个小问题,不过有活干就是好。在写代码的过程中遇到了一个小
- 例如:我们在百度中搜索 词典网,则网址后面的参数就是http://www.baidu.com/s?cl=3&wd=%B4%CA%B5
- 小编想把用python将列表[1,1,1,1,1,1,1,1,1,1] 和 列表 [2,2,2,2,2,2,2,2,2,2]对应相加成[3,
- Python程序的注释感觉很不合群,对于习惯了使用/**/多行注释的人来说,到Python中只能使用#号进行单行注释很痛苦。# 这里是单行注
- pandas.read_csv参数整理 读取CSV(逗号分割)文件到DataFrame也支持文件的部分导入和选择迭代更多帮助参见:
- 该域名查询系统写的很简单,只是实现了功能使用XmlHttp来获取远程查询结果,实际上就是小偷程序!相关推荐:域名注册情况查询/
- 源码:from pyecharts import Barimport reimport requestsnum=0b=[]for i in
- 废话不多说了,直接上代码吧!#!/usr/bin/env python# coding=utf-8# 画一棵樱花import turtlei
- 目前网络上有许多图片验证码形式,那些没有生成图片的验证码的抗破解防御能力简直不堪一击;有人直接在网页源码里显示出具体的数字,然后要求访问者输
- 如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:$encode = mb_detect_encoding($string, arr
- dispy,是用asyncoro实现的分布式并行计算框架。框架也是非常精简,只有4个组件,在其源码文件夹下可以找到:dispy.py (cl
- 目录1 作用2 安装3 所有要运行的命令都放在 manager.py 中4 三种方式 创建命令4.1 方式一 创建 Command子类4.2