python4行代码将json转为excel_使用Python Pandas模块操作Excel数据

如何示例 Excel 数据

我们以Python Pandas数据加载类型表格为例,演示Python Pandas Excel操作。

83404709975499cf3758a6f111705ca5.png

本文将使用Pandas中 read_excel 函数来读取 Excel 文件,并存储成DataFrame格式,本文将介绍如何使用 iloc 、loc 方法获取 DataFrame中对应的数据,实现Execl数据的获取。

read_excel的主要参数

  • io: excel文档路径。
  • sheetname : 读取的excel指定的sheet页,若多个则为列表。
  • header :设置读取的excel第一行是否作为列名称。
  • skiprows:省略指定行数的数据。
  • skip_footer:省略从尾部数的int行数据。
  • index_col:设置读取的excel第一列是否作为行名称。
  • names:设置每列的名称,数组形式参数。
  • usecols:读取指定的列, 也可以通过名字或索引值。

读取Excel文件

根据上述参数介绍,我们通过指定表单名和指定列的方式来读取文件

945bde9f6a58ba6bb7c3ee4fe8b2f5c7.png

如下,我们可以看到读取的Excel数据类型为DataFrame类型

9f9ab0b10788bac06282b50abd9e99d0.png

使用 iloc 从DataFrame中筛选数据

iloc 语法

 data.iloc[, ]

iloc 在Pandas中是用来通过数字来选择数据中具体的某些行和列。可以设想每一行都有一个对应的下标(0,1,2,...),通过 iloc 我们可以利用这些下标去选择对应的行数据。同理,对于行也一样,通过这些下标也可以选择对应的列数据。

需要注意的是0表示第一行,但不包含表头。


选择单行或单列

选择数据中的第一行。

91e736403cf04cf168763946bd446068.png

选择数据中的最后一行。

1ff90665fc785a4792c197fdb4c70944.png

选择数据中的第一列。

d5c906282cdee7c3db8c2af154329e36.png

选择数据中的最后一列。

b516a58c4d5d8c0d4fc9ff04d4f03856.png

行列混合选择

选择数据中的第 1-3 行的所有列。

5025f1bd4a05d31e4503c130f10d438b.png

选择数据中的前2列的所有行。

8d9104ab5f8f3019b6d8978331ff9c50.png

选择第 0, 2, 4行 和 第 1,3 列。

f4380cd8237b16c2164a898a31a863bf.png

选择第0 到 第3行 的 第0 到第2列。

ba1cbd42334375b2478fd9bf29e957e9.png

使用 iloc 仅选择了单独的一行或一列,返回的数据为 Series 类型。若选择了多行数据则会返回 DataFrame 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1],如下:

6e9f07c970d9a3dc7e5ac7ea001f6dc5.png

使用 loc 从DataFrame中筛选数据

 data.loc[, ]

ioc 用于以下两种场景:

  • 使用 下标 查找
  • 使用 条件 查找

使用 下标 查找

选择数据中的第一行。

264c5e3f794accd6647190b0bbb31d09.png

选择数据中的前二行。

565a6e107091099808c4766c9a9082c7.png

选择第1到3行的 READER、WRITER列。

f607cab9d19701c984d136e72d75cbc9.png

选择第1、2行的 DATA DESCRIPTION 到 WRITER列。

0370dab9609318828ab3c12038370edd.png

需要注意 excel.loc[[1]] 不等价于 excel.iloc[[1]] ,前者是选择索引为1的行,而后者是选择第1行,DataFrame的索引可以是数字或者是字符串。


使用逻辑判断选择数据

选择WRITER列等于to_json的 DATA DESCRIPTION列到 WRITER列。

49c3ff647694659fd384501f0127fedd.png

同样,如果只选择了某一列,返回的数据是 Series 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1]。


选择 READER的值中是以 "read" 开头的行的所有列。

12dc272da8818e01e85548e6e429b8fd.png

选择"WRITER" 等于['to_csv', 'to_json']值的行。

ecffbf3fbbdf34c9008ac3d4b17fff9f.png

选择READER = 'read_csv' 并且 READER 是以 "read"开头的行。

60fc159576bb72b07d646b4bae113193.png

利用apply的lambda函数判断符合条件的行,如下选择READER由“_”链接的行的所有列。

443980147adf6b5365727472e7439387.png

利用apply的lambda函数判断符合条件的行的'DATA DESCRIPTION', 'READER' 列。

b5395ba01ad9d6a6b2c13b2ddeedcaad.png

Pandas中 apply、 applymap、 map 的区别

  • map仅是Series中的函数 ,map将函数应用于Series中的每一个元素。
  • apply和applymap是仅是DataFrame 中的函数。
  • apply 将函数作用于DataFrame中的每一个行或者列。
  • applymap将函数作用于DataFrame中的每一个元素。

b873419261b718a05b5b531a5999d00a.gif
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值