文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python读取Excel中的数据

2023-09-12 12:30

关注

 1、用xlrd包读取excel数据

import xlrddef read_excel():    # 打开文件,xlrd.open_workbook(),函数中参数为文件路径,分为相对路径和绝对路径    workBook = xlrd.open_workbook(r'C:\Users\Lj\Desktop\data.xls')    # 获取所有sheet的名字(list类型)    allSheetNames = workBook.sheet_names()    print(allSheetNames);    # 按索引号获取单个sheet的名字(string类型)    sheet1Name = workBook.sheet_names()[0]    print(sheet1Name);    # 获取sheet内容    ## 按索引号获取sheet内容    sheet1_content1 = workBook.sheet_by_index(0); # sheet索引从0开始    ## 按sheet名字获取sheet内容,workBook.sheet_by_name()括号内的参数是sheet的真实名字    sheet1_content2 = workBook.sheet_by_name('省煤器+蒸发区')    # 获取sheet的名称,行数,列数    print(sheet1_content1.name,sheet1_content1.nrows,sheet1_content1.ncols)    # 获取整行和整列的值(数组)    rows = sheet1_content1.row_values(3)  # 获取第四行内容    cols = sheet1_content1.col_values(2)  # 获取第三列内容    print(rows);    # 使用循环获得多行的数据并保存到table中,获得多列数据是同样的方法    table = []  # 定义一个空列表,将读取的每一行数据保存到该列表中    for i in range(sheet1_content1.nrows):        rows = sheet1_content1.row_values(i)        table.append(rows)    print(rows)    # 获取单元格内容(三种方式)    print(sheet1_content1.cell(1, 0).value)    print(sheet1_content1.cell_value(2, 2))    print(sheet1_content1.row(2)[2].value)    # 获取单元格内容的数据类型    # Tips: python读取excel中单元格的内容返回的有5种类型 [0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error]    print(sheet1_content1.cell(1, 0).ctype)if __name__ == '__main__':    read_excel()

用pandas包读取excel数据

先熟悉以下read_excel函数中常用的几个参数,想要看完整的参数解释可以参考Pandas read_excel()参数详解_leenuxcore的博客-CSDN博客_read_excel

pandas.read_excel(io,sheet_name=0,header=0,names=None,index_col=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)

其中io表示文件路径,示例:io=r"文件绝对路径";sheet_name表示sheet的名称,默认为0,表示不输入sheet_name的参数下,默认引用第一张sheet的数据,示例:sheet_name="sheet名称"或sheet_name=[1]([1]表示第二个的sheet)或sheet_name=None(None 表示引用所有sheet);header表示用第几行作为表头,默认header=0,即默认第一行为表头,示例:hearder=1(选择第二行为表头,第一行数据就不要了)或header=None(表示不使用数据源中的表头);index_col指定列为索引列,示例:index_col=None(默认项,也就是索引为0的列用作DataFrame的行标签)或index=0(指定第几列为索引列);usecols默认为None,解析所有列,如果为str,则表示Excel列字母和列范围的逗号分隔列表(例如“ A:E”或“ A,C,E:F”),范围全闭,如果为int,则表示解析到第几列,如果为int列表,则表示解析那几列;squeeze默认为False,如果设置squeeze=True则表示如果解析的数据只包含一列,则返回一个Series;dtype是指定列的数据类型,示例:dtype=None(默认为None,也就是不改变数据类型)或dtype={0:"float64", 2:str};engine可以接受的参数有“ xlrd”,“ openpyxl”或“ odf”,用于使用第三方的库去解析excel文件;converters是对指定列的数据进行指定函数的处理,传入参数为列名与函数组成的字典。key 可以是列名或者列的序号,values是函数,可以def函数或者直接lambda都行;true_values将指定的文本转换为True,默认为None,false_values将指定的文本转换为False,默认为None,示例:true_values=['女'], false_values=['男'];skiprows表示跳过指定的行,示例:skiprows=1;nrows指定需要读取前多少行,通常用于较大的数据文件中,默认为None,示例:nrows=3(读取前三行);na_values指定某些列的某些值为NaN,示例:na_values='大';keep_default_na表示导入数据时是否导入空值。

import pandas as pd# 创造一个文件名变量,此处用的是绝对路径,Windows需要加rfile_name = r'C:\Users\Lj\Desktop\data.xls'# 使用ExcelFiletable = pd.ExcelFile(file_name)print(type(table))print(table.sheet_names)  # 按照顺序获取sheet名称# 提取表格信息sheet1 = table.parse(sheet_name=0)  # 可以使用序号,一次性读取多个可用列表[0,1]sheet2 = table.parse(sheet_name=table.sheet_names[1])  # 也可以使用sheet名# 使用read_excel()# 逐个sheet读取st1 = pd.read_excel(file_name, sheet_name='省煤器+蒸发区', header=1)st2 = pd.read_excel(file_name, sheet_name='过热器系统')# 一次读取多个sheettable = pd.read_excel(file_name, sheet_name=[0, 1])print(st1.shape)  # 输出元组,分别为行数和列数,默认第一行是表头不算行数print(st1)  # 输出该sheet的所有内容print(st1.values)  # 输出第一行以外的值print(st1.values[0])  # 输出第一行的值print(st1['省煤器压力'].values)  # 输出具体一列的值

来源地址:https://blog.csdn.net/m0_62808927/article/details/127713083

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯