iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python之如何使用pandas操作Excel表
  • 523
分享到

Python之如何使用pandas操作Excel表

pandaspython开发语言 2023-09-02 22:09:32 523人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录 1、前言 2、读取Excel 3、对Excel进行操作 3.1、获取行号、列名  3.2、获取单元格的值,并循环输出  3.3、对空值进行处理,替换  3.4、增加一列,并对新增列的第一行进行赋值 3.5、将修改后数据保存到原文档  

目录

1、前言

2、读取Excel

3、对Excel进行操作

3.1、获取行号、列名

 3.2、获取单元格的值,并循环输出

 3.3、对空值进行处理,替换

 3.4、增加一列,并对新增列的第一行进行赋值

3.5、将修改后数据保存到原文档

 3.6、关于循环取数

4、错误处理

5、全部代码


前言

网上也有很多关于如何使用pandasexcel表格进行操作的文章,本文纯当记录

Excel原文件数据如下:

2、读取Excel

对Excel操作分两步:

首先要导入pandas库

设置Excel文件路径

注意:

pandas.read_excel(file, sheet_name=0, keep_default_na=False)
1、file为要读取的Excel文件
2、sheet_name表示要读取的sheet名,0表示第一个sheet,1表示第2个sheet,依次类推;也可以直接写sheet的名称,如sheet_name='Sheet1'
3、当Excel中有空值时,直接读取会显示nan,read_excel方法中加上keep_default_na=False后,
空值nan会变成:'' 空字符串,后续可用if cell_data=='' 进行判断

代码如下:

import pandas

file = r'D:\student.xlsx'

class opexcel():
    def getdata(self, file):
        data = pandas.read_excel(file, sheet_name=0, keep_default_na=False)
        print(type(data)) # 输出数据类型(DataFrame)
        print(data)  # 输出数据

if __name__ == '__main__':
    opexcel().getdata(file)

打印结果如下:

3、对Excel进行操作

3.1、获取行号、列名

        row_index = data.index.values  # 行号: 数组形式 [0 1 2 3 4 5 6 7 8]
        print('行号是:%s' % row_index)
        row_num = len(data.index.values)  # 行数
        print('行数是:%s' % row_num)
        col_index = data.columns.values  # 列名: 数组形式['姓名' '性别' '年龄' '住址' '爱好']
        print('列名是:%s' % col_index)
        col_num = len(data.columns.values)  # 列数
        print('列数是:%s' % col_num)

打印结果:

 3.2、获取单元格的值,并循环输出

        for i in range(row_num): # 循环行数
            for j in range(col_num): # 循环列数
                cell_data=data.iloc[i,j] # 获取单元格的值
                   print('第%s行,第%s列的数据是:%s ' %(i,i,cell_data))

打印结果如下:

 3.3、对空值进行处理,替换

Excel文件中,某个单元格的值可能为空,直接读取会显示nan,且各个单元格的数据类型可能不一致,如date、str、int、float。这时如果直接读取,使用numpy.isnan()或者pandas.isnull()进行判断,都可能会报错,所以在开头读取Excel文件的方法pandas.read_excel(file, sheet_name=0, keep_default_na=False)中加上keep_default_na=False后,空值nan会变成:'' 空字符串。

现在我们想要将Excel中所有为空的单元格,替换为NULL字符串,操作如下

取出所有列名

循环列名,对空值替换(据实践,只有列名才有.replace()方法)

col_index = data.columns.values  # 列名for col in col_index :    data[col].replace('','NULL',inplace=True)    # 第一个参数是替换前的值,即Excel表指定列的值,如有多个相同的值,后续都会被替换      第二个参数是替换后的值,此处为字符串'NULL',也可填数字、或其他类型      第三个参数,是否替换,True为替换    print(data)打印结果如下:

如要将上方结果中【爱好】这一列的【无】,替换为羽毛球,操作如下:

data['爱好'].replace('无','羽毛球',inplace=True)

结果如下:

 3.4、增加一列,并对新增列的第一行进行赋值

新增一列【成绩】,并赋值未None:

data['成绩']=None

打印结果如下:

 修改增列的第一行的值为50:

data['成绩'][0]=50 

打印结果如下:

 3.5、将修改后数据保存到原文档

注意:以上操作中将空值替换、新增列、修改单元格数据等编辑操作,只在控制台有效,实际文件的内容并不会被改变

file = r'D:\student.xlsx'

data.to_excel(file,sheet_name='Sheet1',index=False,header=True)

 # 用DataFrame的to_excel方法可将编辑后的数据进行保存(前面第一节已知data为DataFrame类型)

第一个参数file,表示数据将要保存到这个文件。可以是原文件(r'D:\student.xlsx'),如果写另外的文件(r'D:/test/newstudent.xlsx'),则数据将保存到另一个文件中,原文件数据不变

第二个参数sheet_name,表示将数据保存到文件的哪一个sheet工作表。如工作表不存在则会报错。

第三个参数index,表示工作表自带的序号。如果设置index=True,则保存后的数据将多出一列

第四个参数header,表示列名。设置header=True,保存后的数据将带上列名;设置header=False,保存后的数据将没有列名

注意:

读取文件的时候,sheet_name可以写成 sheet_name=0或 sheet_name='Sheet1'

data = pandas.read_excel(file, sheet_name=0,keep_default_na=False)

写入文件的时候,只能填写工作表的名称sheet_name='Sheet1'

保存后的数据如下:

设置index=True,结果如下:

 设置header=False,结果如下:

 3.6、关于循环取数

col_index = data.columns.values  # 列名 ['姓名' '性别' '年龄' '住址' '爱好' '成绩']数组,用in进行循环取值:for i in col_index:col_num = len(data.columns.values)  # 列数 6数值,用rang进行循环取数:for i in range(col_num :

7、字符串分割

url=data['URL'][0] # https://blog.csdn.net/m0_46400195/article/detailspyprint(url)print(type(url))str1=str(data['URL'][0]).split('/')# 注意: 虽然显示URL为str类型,但是仍然要先将data['URL'][0]转为str,才能使用.split方法进行分割。str(data['URL'][0]).split('/'),也可以写成str(url).split('/')print(str1) # 打印分割后的结果newstr1=str1[0]+'//'+str1[2]+'/'+str1[3]+'/'+'druid' #根据分割后的信息进行拼接newstr2 = str1[0] + '//' + str1[2] + '/' + str1[3]+'/' + 'druid/index.html'print(newstr1) #打印拼接后的字符串print(newstr2)打印结果如下:

4、错误处理

PermissionError: [Errno 13] Permission denied

这个错误出现可能是文件未关闭,关闭后再操作即可。还有可能是文件损坏了,打开文件,确认文件内容是否正常

……

5、全部代码

import pandasimport requestsfrom pandas import DataFrameimport xlwt'''1、当Excel中有空值时,直接读取会显示nan,read_excel方法中加上keep_default_na=False后,空值nan会变成:‘’ 空字符串,后续可用if cell_data=='' 进行判断2、col_index = data.columns.values  # 列名   数组col_index:['序号' '是否导出' '所属单位'],用in进行循环取值:for i in col_index:   row_num = len(data.index.values)  # 行数   数值row_num:用rang进行循环取数:for i in range(row_num):'''file = r'D:\student.xlsx'class opexcel():    def getdata(self, file):        data = pandas.read_excel(file, sheet_name=0,keep_default_na=False)        # 当Excel中有空值时,直接读取会显示nan,read_excel方法中加上keep_default_na=False后,        # 空值nan会变成:‘’ 空字符串,后续可用if cell_data=='' 进行判断        # print(type(data))        # print(data)  # 输出数据        row_index = data.index.values  # 行号: 数组形式 [0 1 2 3 4 5 6 7 8]        print('行号是:%s' % row_index)        row_num = len(data.index.values)  # 行数        print('行数是:%s' % row_num)        col_index = data.columns.values  # 列名: 数组形式['序号' '是否导出' '所属单位' '项目名称' '项目']        print('列名是:%s' % col_index)        col_num = len(data.columns.values)  # 列数        print('列数是:%s' % col_num)        # data['result']=None        # data.to_excel(r'D:\userCase11.xls', sheet_name='Sheet1', index=False, header=True)        # for i in range(row_num): # 循环行数        #     for j in range(col_num): # 循环列数        #         cell_data=data.iloc[i,j] # 获取单元格的值        #         print('第%s行,第%s列的数据是:%s ' %(i,i,cell_data))        #        # for col in col_index :        #     data[col].replace('','NULL',inplace=True)        #     print(data)        #        # data['爱好'].replace('无','羽毛球',inplace=True)        # print(data)        # data['成绩']=None        # print(data)        # data['成绩'][0]=50        # print(data)        # data.to_excel(file,sheet_name='Sheet1',index=False,header=False)if __name__ == '__main__':    opexcel().getdata(file)

来源地址:https://blog.csdn.net/qq_14945475/article/details/126240827

--结束END--

本文标题: Python之如何使用pandas操作Excel表

本文链接: https://www.lsjlt.com/news/391535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python之如何使用pandas操作Excel表
    目录 1、前言 2、读取Excel 3、对Excel进行操作 3.1、获取行号、列名  3.2、获取单元格的值,并循环输出  3.3、对空值进行处理,替换  3.4、增加一列,并对新增列的第一行进行赋值 3.5、将修改后数据保存到原文档  ...
    99+
    2023-09-02
    pandas python 开发语言
  • (新手)使用pandas操作EXCEL
    import pandas as pdimport numpy as npfrom pandas import DataFrame,Series#path = r'C:\Users\tsl\Desktop\数据.xlsx'#一列数据前面添...
    99+
    2023-01-30
    新手 操作 pandas
  • python使用xlsx和pandas处理Excel表格的操作步骤
    目录一、使用xls和xlsx处理Excel表格1.1 用openpyxl模块打开Excel文档,查看所有sheet表1.2 通过sheet名称获取表格1.3 获取活动表的获取行数和列...
    99+
    2023-01-04
    python处理excel表格 python中的pandas库 python xlsx
  • 如何利用Python操作excel表格
    这篇文章主要介绍了如何利用Python操作excel表格,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境linux 服务器一台,亦或者windows10电脑一台python...
    99+
    2023-06-29
  • python如何使用xlwt操作excel
    这篇文章主要讲解了“python如何使用xlwt操作excel”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何使用xlwt操作excel”吧!一、安装pip inst...
    99+
    2023-06-26
  • Python利器openpyxl之操作excel表格
    目录1、安装2、使用2.1 Workbook对象2.2 worksheet对象2.3 Cell对象3、案例总结python处理数据时,可以将数据保存至excel文件中,此处安利一个p...
    99+
    2024-04-02
  • python操作Excel神器openpyxl如何使用
    今天小编给大家分享一下python操作Excel神器openpyxl如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。E...
    99+
    2023-07-06
  • PHP 使用 PhpSpreadsheet 操作 excel 表格
    1 . 使用 命令 : composer require phpoffice/phpspreadsheet 安装 PhpSpreadsheet 读取excel表格中的内容 ...
    99+
    2023-09-11
    php 开发语言
  • python中怎样使用xlrd、xlwt操作excel表格
    这篇文章将为大家详细讲解有关python中怎样使用xlrd、xlwt操作excel表格,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python操作excel主要用到xlrd和xlwt这两个...
    99+
    2023-06-04
  • Python入门之使用pandas分析excel数据
    目录1.问题2.方案2.1.安装2.2.读写文件2.3.数据操作2.4.数据筛选2.5.数据写入2.6.数据删除3.讨论 总结1.问题 在python中,读写excel数据方法很多,...
    99+
    2024-04-02
  • Java如何使用POI操作Excel
    这篇文章主要介绍了Java如何使用POI操作Excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Java使用POI操作Excel ...
    99+
    2024-04-02
  • Python 操作 Excel 之 openpyxl 模块
    目录1.打开已有 Excel 文件2.创建一个 Excel 文件,并修改 sheet3.选择 sheet 的不同方式4.Worksheet对象5.Cell 对象6.单元格插入图像7....
    99+
    2024-04-02
  • 详解Python操作Excel之openpyxl
    目录Python操作Excel之openpyxl前提创建读取总结Python操作Excel之openpyxl openpyxl是一个Python库,用来读写Excel2010 xls...
    99+
    2024-04-02
  • Python如何利用xlrd和xlwt模块操作Excel表格
    目录简介:安装:初始数据:xlrd使用:xlwt使用:xlwt使用示例2:总结 简介: xlrd和xlwt是python的第三方库,xlrd模块实现对excel文件内容读取...
    99+
    2024-04-02
  • 如何使用python修改excel表某一列内容的操作方法
    这篇文章主要介绍了如何使用python修改excel表某一列内容的操作方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。想想你在一家公司里做表格,现在有一个下面这样的exce...
    99+
    2023-06-15
  • python数据分析之怎么用pandas搞定Excel表格
    本篇内容主要讲解“python数据分析之怎么用pandas搞定Excel表格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python数据分析之怎么用pandas搞定Excel表格”吧!(一)读...
    99+
    2023-06-30
  • python操作Excel读写--使用x
      一、安装xlrd模块    到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。 二、使用介绍   1、导入模块       import xlrd  ...
    99+
    2023-01-31
    操作 python Excel
  • flutter操作excel表的库使用方法
    推荐库 spreadsheet_decoderexcel 方案一:spreadsheet_decoder 加入依赖 dependencies: flutter: sdk: flutter spreadsheet_decoder: ...
    99+
    2023-08-17
    flutter excel
  • python之matplotlib和pandas绘图的操作
    这篇文章主要介绍python之matplotlib和pandas绘图的操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能...
    99+
    2023-06-07
  • PHP使用PhpSpreadsheet库的操作Excel表格
    一、PhpSpreadsheet 介绍 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式 PhpSpreadsheet提供了丰富的API接口...
    99+
    2023-10-01
    php excel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作