python 操作Excel(2) 读取Excel(利用 Pandas 和 xlrd )

2023-12-31 13:48

本文主要是介绍python 操作Excel(2) 读取Excel(利用 Pandas 和 xlrd ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pandas简介

pandas 是基于NumPy的一种工具,支持xlsxlsx文件格式。该工具是为了解决数据分析任务而创建的。

Series,在Pandas库中表示一维数组,与Python基本的数据结构List相近,可以保存不同数据类型。

DataFrame,是Pandas库中的一种数据结构,它类似excel,是一种二维表

 

读取excel文件,read_excel ( io) 

# coding:utf-8
# 将实验 excel 文件放入 python 执行文件的顶层目录下,即可实现读取Excel功能。import pandas as pdfileName = input("请输入excel文件\n") # 获取文件路径
df = pd.read_excel(fileName) # df 即 DataFrame 结构
print(df)

一些重要的pandas.read_excel参数如下:

参数     描述         
io一个字符串,描述给定Excel文件的路径。
sheet_name您要导入的数据的Excel工作表名称或工作表编号。 工作表编号可以是整数,其中0是第一张工作表,1是第二张工作表,依此类推。如果给出了工作表名称/编号列表,则输出将是DataFrames的字典。 默认值为读取所有工作表并输出DataFrames字典(key:value)。
header用于列标签列表的行号。 默认值为0,表示假定第一行包含列标签。 如果数据没有一行列标签,则不使用。
names列名的单独Python列表输入。 默认情况下此选项为None。 此选项等效于为输出DataFrame的column属性分配列名称列表。
index_col指定应将哪一列用于行索引。 默认选项为None,这意味着所有列都包含在数据中,并且一定范围的数字用作行索引。
usecols整数、整数列表或字符串,用于指定要导入到DataFrame中的列。是。默认是导入所有列。如果给定一个字符串,熊猫使用标准的Excel格式来选择列(例如。“A:C,F,G”将导入列A, B, C,F和G)。
skiprows要在Excel工作表顶部跳过的行数。默认值为0。此选项对于跳过Excel中包含有关下面数据的说明信息的行非常有用。

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds) 

示例:读取Sheet1的表头 

# 读取Sheet1表的 表头import pandas as pdf_n= input("请输入城市顺序表.xls文件\n")
df = pd.read_excel(f_n,sheet_name='Sheet1') # 基于文件和sheet名,读取其中所有信息
print(df.columns)

利用read_excel ( io , usecols=None ) 获取指定列数据

# coding:utf-8
# 读取默认excel文件的sheet表的 指定列数据import pandas as pdfilename= input("请输入excel文件\n")
Col=[0,1,4,9] #指定列:1、2、5、10df = pd.read_excel(filename, usecols=[col[0]],names=None)  # 读取项目名称列,不要列名
df_li = df.values.tolist()
result = []
for s_li in df_li:result.append(s_li[0])print(result) #输出指定列数据

 

xlrd 简介

最常用读取excel的库是 xlrd 。其中 xlrd 仅支持读取excel,而 xlwt 则是仅支持写如excel的库,两者组合出现。

网络上有大量的资源代码,这里不再赘述。

但值得介绍的是,xlwt 仅可写入 Ecxec2007之前的版本,即.xls文件(无法写入xlsx文件)。所以目前一般用xlrd读取,用openpyxl写入。

#coding:utf-8
# '''
# xlrd用于读取excel文件,是最常用的工具
# '''import xlrd
data = xlrd.open_workbook(filename)
#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。mySheets = myWorkbook.sheets()                 #获取工作表list。
mySheet = mySheets[0]                          #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_index(0)         #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_name(u'Sheet1')  #通过名称获取。
print(mySheets,mySheet)#1.对于行的操作nrows = mySheet.nrows  #获取该sheet中的有效行数
mySheet.row(rowx)  #返回由该行中所有的单元格对象组成的列表
mySheet.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表
mySheet.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表
mySheet.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表
mySheet.row_len(rowx) #返回该列的有效单元格长度#2.对于列的操作ncols = mySheet.ncols   #获取列表的有效列数
mySheet.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
mySheet.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
mySheet.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表
mySheet.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表#3.对于单元格的操作mySheet.cell(rowx,colx)   #返回单元格对象
mySheet.cell_type(rowx,colx)    #返回单元格中的数据类型
mySheet.cell_value(rowx,colx)   #返回单元格中的数据
mySheet.cell_xf_index(rowx, colx)   # 暂时还没有搞懂

 

这篇关于python 操作Excel(2) 读取Excel(利用 Pandas 和 xlrd )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556211

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处