iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【Python】Python读写.xlsx文件(基本操作、空值补全等)
  • 794
分享到

【Python】Python读写.xlsx文件(基本操作、空值补全等)

pythonpandas数据分析 2023-10-18 20:10:23 794人浏览 安东尼

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

摘要

【python】Python读写.xlsx文件(pandas) 文章目录 【Python】Python读写.xlsx文件(Pandas)1. 介绍2. Pandas读写xlsx文件2.1 基本

pythonPython读写.xlsx文件(pandas

文章目录

1. 介绍

本文介绍如何使用使用 pandas 库来读取xlsx文件中的数据。

2. Pandas读写xlsx文件

2.1 基本操作

2.1.1 实现任务
  • 读取前n行数据

  • 读取指定数据(指定行指定列)

  • 获取文件行号和列标题

  • 将数据转换为字典形式

  • 原数据:
    在这里插入图片描述

2.1.2 代码
import pandas as pd#1.读取前n行所有数据df1=pd.read_excel('d1.xlsx')#读取xlsx中的第一个sheetdata1=df1.head(10)#读取前10行所有数据data2=df1.values#list【】  相当于一个矩阵,以行为单位#data2=df.values()   报错:TypeError: 'numpy.ndarray' object is not callableprint("获取到所有的值:\n{0}".fORMat(data1))#格式化输出print("获取到所有的值:\n{0}".format(data2)) #2.读取特定行特定列data3=df1.iloc[0].values#读取第一行所有数据data4=df1.iloc[1,1]#读取指定行列位置数据:读取(1,1)位置的数据data5=df1.iloc[[1,2]].values#读取指定多行:读取第一行和第二行所有数据data6=df1.iloc[:,[0]].values#读取指定列的所有行数据:读取第一列所有数据print("数据:\n{0}".format(data3))print("数据:\n{0}".format(data4))print("数据:\n{0}".format(data5))print("数据:\n{0}".format(data6)) #3.获取xlsx文件行号、列号print("输出行号列表{}".format(df1.index.values))#获取所有行的编号:0、1、2、3、4print("输出列标题{}".format(df1.columns.values))#也就是每列的第一个元素 #4.将xlsx数据转换为字典data=[]for i in df1.index.values:#获取行号的索引,并对其遍历    #根据i来获取每一行指定的数据,并用to_dict转成字典    row_data=df1.loc[i,['id','name','class','data','score',]].to_dict()    data.append(row_data)print("最终获取到的数据是:{0}".format(data)) #iloc和loc的区别:iloc根据行号来索引,loc根据index来索引。#所以1,2,3应该用iloc,4应该有loc
2.1.3 结果

在这里插入图片描述
在这里插入图片描述

2.2 进阶操作

准备工作(导入包、数据)

#导入必备数据分析import pandas as pdimport numpy as np#导入excel数据文件df = pd.DataFrame(pd.read_excel("TMao.xlsx")) #导入csv数据文件# df = pd.DataFrame(pd.read_csv("Attributes.csv",header=1,sep=','))  #表示第一行为字段名
2.2.1 写操作

df2.to_excel(writer, ‘Sheet’, index=False)

#  任务:输出满足成绩大于等于90的数据writer = pd.ExcelWriter('C:/Users/enuit/Desktop/out_test.xlsx')temp = []for i in range(len(df.index.values)):    if df.iloc[i, 3] >= 90:        temp.append(df.iloc[i].values)df2 = pd.DataFrame(data=temp, columns=df.columns.values)#  不写index会输出索引df2.to_excel(writer, 'Sheet', index=False)writer.save()
2.2.2 查看数据表的基本信息

根据需要对数据进行总体上的查看,建议不要全部执行,而是一条一条依次执行查看效果。

#维度查看:返回几行几列,注意不要加()df.shape#查看列名称:类似于sql中的descdf.columns#数据表基本信息(维度、列名称、数据格式、所占空间等)df.info#查看每一列数据的格式df.dtypes#某一列数据的格式df['订单付款时间'].dtypedf['订单金额'].dtype
2.2.2 空值的与缺失值(NAN、NAT)
  • 空值:在pandas中的空值是"",也叫空字符串
  • 缺失值:在dataframe中为NAN或者NAT(缺失时间),在series中为none或者nan

1)查看所有值是否为空值

  • (所有值全部列出来,不实用的操作,这里简单介绍一下用法)
#查看是否为空值df.isnull()#某一列的空值df["订单付款时间"].isnull()

2)判断是否存在空值

# 查看所有值中是否存在空值df.isnull().any()# 判断某列是否存在空值df["订单付款时间"].isnull().any()  #或者.values# 打印空值行的数据if df["订单付款时间"].isnull().any():     print(df[df.isnull().values==True])     print(df[df.isna().values==True])

3)唯一值查看

#查看某一列的唯一值df["订单金额"].unique()#查看数据表的值df.values#查看前几行/后几行的数据df.head()  #默认前5行df.tail(10)  #指定数值10,查看后10行的数据
2.2.3 数据清洗

1)空值的处理

  • (1)删除含有空值的行或列:用dropna()时可以同时剔除Nan和NaT
    • axis:维度,axis=0表示index行,axis=1表示columns列,默认为0
    • how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列
    • thresh:一行或一列中至少出现了thresh个才删除。
    • subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)
    • inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。
# 准备工作df.isnull().any()  #查看哪一列有空值,发现是<订单付款时间>列print(df[df['订单付款时间'].isna().values==True])  #输出<订单付款时间>列存在空值的行#清洗空值df2 = df.dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)  #删除含有空值的行或列 df2['订单付款时间'].isna().any()  #查看是否还存在空值#再次查看df2.shape
  • (2)若发现dropna()后仍然存在空值,则有可能其中并不是空值,而是空字符串,这里就可以将空字符串替换成空值再进行dropna()操作
df.replace(to_replace=r'^\s*$',value=np.nan,regex=True,inplace=True)df['订单付款时间'].dropna()
  • (3)填充含有空值的行或列(ffill / bfill)
    • value:需要用什么值去填充缺失值
    • axis:确定填充维度,从行开始或是从列开始
    • method:ffill:用缺失值前面的一个值代替缺失值,如果axis=1,那么就是横向的前面的值替换后面的缺失值,如果axis=0,那么则是上面的值替换下面的缺失值。backfill/bfill,缺失值后面的一个值代替前面的缺失值。注意这个参数不能与value同时出现
    • limit:确定填充的个数,如果limit=2,则只填充两个缺失值。
df.isna().any()  #查看原数据表是否存在空值df3 = df.fillna(method='ffill',axis=0,inplace=False,limit=None,downcast=None)df3.isna().any()  #查看填充后的数据表是否存在空值#用均值填充空值(mean方法)df['订单金额'].fillna(df[订单金额].mean())

2)格式转换

  • (1)清除空格字符strip:调用map函数对str对象进行空格去除,若去除逗号可以用map(str.strip(‘,’))
df['收货地址']=df['收货地址'].map(str.strip())  
  • (2)大小写转换lower/upper
df['编码']=df['编码'].strip().lower()  #大写同理,upper()
  • (3)更改数据格式astype
df['订单金额'].astype('int')  #int整数类型,同理float浮点型

3)更改列名即字段名

df.rename(columns={'实付金额':'实付'})  #把实付金额,改成 实付

4)保留一个重复值

df['收货地址'].drop_duplicates()  #删除列中后出现的值df['收货地址'].drop_duplicates(keep='last')  #删除列中先出现的值,即保留最后一个值

5)数据替换
把收货地址中的 四川 改为 四川省

df['收货地址'].replace('四川', '四川省')  

3. 参考

【1】https://blog.csdn.net/RitaAndWakaka/article/details/108366203
【2】Https://blog.csdn.net/Viewinfinitely/article/details/124728721

来源地址:https://blog.csdn.net/qq_51392112/article/details/130116437

--结束END--

本文标题: 【Python】Python读写.xlsx文件(基本操作、空值补全等)

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

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

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

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

下载Word文档
猜你喜欢
  • 【Python】Python读写.xlsx文件(基本操作、空值补全等)
    【Python】Python读写.xlsx文件(Pandas) 文章目录 【Python】Python读写.xlsx文件(Pandas)1. 介绍2. Pandas读写xlsx文件2.1 基本...
    99+
    2023-10-18
    python pandas 数据分析
  • 【Python】Python读写文件操作
    原帖地址:http://blog.csdn.net/adupt/article/details/44356151.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭...
    99+
    2023-01-31
    操作 文件 Python
  • Python 之文件读写操作
    Python 读写文件    1、打开文件        使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:                使用到的模式(mo...
    99+
    2023-01-31
    操作 文件 Python
  • Python 文件的读写操作
    文章目录 一、Python 文件读写概述二、使用 open() 打开文件三、使用 read()、readline()、readlines() 读取数据四、使用 write()、writelin...
    99+
    2023-09-29
    职场和发展 java python 后端 算法
  • python文件读写操作小结
    目录读文件写文件关于open()的mode参数:file_obj.seek(offset,whence=0)字符编码读文件 打开一个文件用open()方法(open()返回一个文件对...
    99+
    2024-04-02
  • python之json文件读写操作
    文章目录 python操作json的四种方法json.loadsjson.loadjson.dumpsjson.dump python操作json的四种方法 python操作js...
    99+
    2023-09-03
    python json
  • Python文件(夹)基本操作
    1、判断文件(夹)是否存在。os.path.exists(pathname)2、判断路径名是否为文件。os.path.isfile(pathname)3、判断路径名是否为目录。os.path.isdir(pathname)4、创建文件。os...
    99+
    2023-01-31
    操作 文件 Python
  • python对文件进行读写操作
    先看原理,再动手写程序: python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件,可读...
    99+
    2023-01-31
    操作 文件 python
  • Python中对基本文件操作
    1.文件的作用 保存数据放在磁盘中 2.打开文件 f=open(‘文件’,‘w’)或者f=open(‘文件’,‘r’) 3.文件操作 3.1 写数据(write) 如果文件不存在那么创建,如果存在那...
    99+
    2023-08-31
    python 数学建模 开发语言
  • Python读写csv文件的操作方法
    这篇文章主要介绍了Python读写csv文件的操作方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。要在 Python 中写入 CSV,请使用 Python 的 csv 模块。例如,让我们将一个字符串列表写入一个新的 C...
    99+
    2023-07-06
  • Python读写JSON文件的操作详解
    目录JSONJSON 起源JSON 样例Python 原生支持 JSON序列化 JSON简单的序列化示例JSON 反序列化简单的反序列化示例应用案例编码和解码JSON JSON 起源...
    99+
    2024-04-02
  • python 文件读写操作示例源码解读
    目录文件写操作的案例代码解释在Python中,可以使用以下三种方法来读取文件文件写操作的案例 # 打开文件(只写模式) file = open('example.txt', 'w'...
    99+
    2023-03-24
    python 文件读写操作解读 python 文件读写源码解读
  • python使用NumPy文件的读写操作
    一、使用NumPy读写文本文件 在数据分析中,经常需要从文件中读取数据或将数据写入文件,常用的存储文件的格式有文本文件、CSV格式文件、二进制格式文件和多维数据文件等。 1.将1维或...
    99+
    2024-04-02
  • python文件读写操作源码分析
    本篇内容介绍了“python文件读写操作源码分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!文件写操作的案例# 打开文件(只写模...
    99+
    2023-07-05
  • python 文件操作读、写、追加的区别
    打开文件的常用模式有: r ,只读模式【默认】 w,只写模式【不可读;不存在则创建;存在则清空内容;】 a, 追加模式【可读; 不存在则创建;存在则只追加内容;】 "+" 表示可以同时读写某个文件 r+, 读写【可读,可写】【可理...
    99+
    2023-01-31
    区别 操作 文件
  • python 读取以空格分开的文件操作
    在查找数据集的时候发现,并不是所有的数据集都是以csv的格式存储,也就是每一列特征数据的分割并不是都以逗号分割,有的数据格式是以空格为分割 例如.data格式, 接下来就实现对.da...
    99+
    2024-04-02
  • Python文件基本操作实用指南
    文件的存储方式 在计算机中,文件是以 二进制的方式保存在磁盘上的 文本文件和二进制文件 文本文件 可以使用文本编辑软件查看...
    99+
    2024-04-02
  • Python怎么读取和写入操作CSV文件
    这篇文章主要介绍“Python怎么读取和写入操作CSV文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么读取和写入操作CSV文件”文章能帮助大家解决问题。什么是 CSV 文件?CSV...
    99+
    2023-06-29
  • Python基本文件操作实用指南
    目录一、前言二、创建和打开文件1.打开一个不存在的文件时先创建该文件2.以二进制形式打开文件3.打开文件时指定编码方式三、关闭文件四、打开文件时使用with语句五、写入文件内容六、读...
    99+
    2024-04-02
  • Python中CSV文件的读写库操作方法
    目录文件的基本读写用字典模式处理数据非标准格式的处理dialectSnifferCSV 格式的全称是 Comma Separated Values,意思是逗号分割的数据,是最常见的电...
    99+
    2022-12-08
    CSV文件读写库 CSV文件读写 CSV文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作