《python每天一小段》-- (11)操作 Excel 详解

2023-12-09 03:15

本文主要是介绍《python每天一小段》-- (11)操作 Excel 详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎阅读《Python每天一小段》系列!在本篇文章中,将使用Python编写自动化 Excel 操作的程序。

文章目录

      • (1)Python 操作 Excel 详解
      • (2)创建 DataFrame 对象
      • (3)读取 Excel 文件
      • (4)写入 Excel 文件
      • (5)筛选数据
      • (6)排序数据
      • (7)计算数据
      • (8)合并数据
      • (9)删除数据
      • (10)读取csv文件
      • (11)总结

(1)Python 操作 Excel 详解

Excel 是办公软件中常用的工具之一,它可以用于存储、整理和分析数据。Python 是一门强大的编程语言,它可以用于自动化 Excel 操作。

在本教程中,我们将介绍 Python 操作 Excel 的详细知识,包括:

  • 创建 DataFrame 对象
  • 读取 Excel 文件
  • 写入 Excel 文件
  • 筛选数据
  • 排序数据
  • 计算数据
  • 合并数据
  • 删除数据

安装pandas模块

pip install pindas

(2)创建 DataFrame 对象

要操作 Excel 数据,我们需要将 Excel 数据转换为 DataFrame 对象。DataFrame 对象是 pandas 库中的数据结构,它可以用于存储表格数据。

以下代码演示了如何创建 DataFrame 对象:

import pandas as pd# 创建 DataFrame 对象
df = pd.DataFrame({"a": [1, 2, 3],"b": [4, 5, 6],"c": [7, 8, 9]
})# 查看 DataFrame 对象
print(df)

输出结果:

   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

(3)读取 Excel 文件

要读取 Excel 文件,我们可以使用 pandas 库的 read_excel() 函数。

以下代码演示了如何读取 Excel 文件:

# 读取 Excel 文件
df = pd.read_excel("data.xlsx")# 查看 DataFrame 对象
print(df)

输出结果与上面的代码相同。

我们还可以使用 read_excel() 函数的 nrows 参数指定要读取的行数,以及 usecols 参数指定要读取的列。

以下代码演示了如何读取 Excel 文件的前两行和 a 列和 b 列的数据:

# 读取前两行
df = pd.read_excel("data.xlsx", nrows=2)
print(df)# 读取 a 和 b 列
df = pd.read_excel("data.xlsx", usecols=["a", "b"])
print(df)

输出结果:

   a  b
0  1  4
1  2  5a  b
0  1  4
1  2  5

(4)写入 Excel 文件

要写入 Excel 文件,我们可以使用 pandas 库的 to_excel() 函数。

以下代码演示了如何写入 Excel 文件:

# 写入 Excel 文件
df.to_excel("output.xlsx")

这将创建一个名为 output.xlsx 的 Excel 文件,其中包含 df 对象的数据。

(5)筛选数据

要筛选 Excel 数据,我们可以使用 locquery() 方法。

以下代码演示了如何筛选 a 列值小于 10 的数据:

# 筛选 a 列值小于 10 的数据
df = df[df["a"] < 10]print(df)

输出结果:

   a  b
0  1  4
1  2  5
2  3  6

(6)排序数据

要排序 Excel 数据,我们可以使用 sort_values() 方法。

以下代码演示了如何按 a 列升序排序数据:

# 按 a 列升序排序数据
df = df.sort_values("a")print(df)

输出结果:

   a  b
0  1  4
1  2  5
2  3  6

(7)计算数据

要计算 Excel 数据,我们可以使用 apply() 方法。

以下代码演示了如何计算 a 列和 b 列的和:

# 计算 a 列和 b 列的和
df["sum"] = df["a"] + df["b"]print(df)

输出结果:

   a  b  sum
0  1  4    5
1  2  5    7
2  3  6    9

我们还可以使用 Series.sum() 方法直接计算列的和:

# 计算 a 列的和
sum_a = df["a"].sum()print(sum_a)

输出结果:

6

(8)合并数据

要合并 Excel 数据,我们可以使用 concat() 方法。

以下代码演示了如何合并两个 Excel 文件:

Python

import pandas as pddef export_to_excel(df, file_name, sheet_name):df.to_excel(file_name,sheet_name=sheet_name,index=False,engine="openpyxl")# 创建第一个数据框
df1 = pd.DataFrame({"a1": [1, 2, 3],"b1": [4, 5, 6],"c1": [7, 8, 9]
})# 创建第二个数据框
df2 = pd.DataFrame({"a2": [1, 2, 3],"b2": [4, 5, 6],"c2": [7, 8, 9]
})# 导出第一个数据框到Excel
export_to_excel(df1, "data1.xlsx", "sheet1")# 导出第二个数据框到Excel
export_to_excel(df2, "data2.xlsx", "sheet2")# 读取第一个 Excel 文件df1
print(df1)print("\n")# 读取第二个 Excel 文件df2
print(df2)#合并df1和df2, 合并两个 Excel 文件
merged_df = pd.concat([df1, df2], axis=1)
print(merged_df)

输出结果:

# 读取第一个 Excel 文件df1a1  b1  c1
0   1   4   7
1   2   5   8
2   3   6   9# 读取第二个 Excel 文件df2a2  b2  c2
0   1   4   7
1   2   5   8
2   3   6   9#合并df1和df2, 合并两个 Excel 文件a1  b1  c1  a2  b2  c2
0   1   4   7   1   4   7
1   2   5   8   2   5   8
2   3   6   9   3   6   9

我们还可以使用 merge() 方法合并 Excel 数据,该方法允许我们指定合并的条件。

以下代码演示了如何合并两个 Excel 文件,并根据 a 列进行合并:

# 读取第一个 Excel 文件
print(df1)
print("\n")# 读取第二个 Excel 文件
print(df2)
print("\n")# 合并两个 Excel 文件,并根据 a 列进行合并
merged_df1 = pd.merge(df1['a1'],df2['a2'],left_index=True,right_index=True)
print(merged_df1)

输出结果:

#df1a1  b1  c1
0   1   4   7
1   2   5   8
2   3   6   9#df2a2  b2  c2
0   1   4   7
1   2   5   8
2   3   6   9#合并后a1  a2
0   1   1
1   2   2
2   3   3

(9)删除数据

要删除 Excel 数据,我们可以使用 drop() 方法。

以下代码演示了如何删除 Excel 文件中的一行:

#读取excel文件(df1和df2合并的值)
print(merged_df)
print("\n")#删除第一行
merged_df = merged_df.drop(0)
print(merged_df)

输出结果:

#原数据a1  b1  c1  a2  b2  c2
0   1   4   7   1   4   7
1   2   5   8   2   5   8
2   3   6   9   3   6   9#删除后a1  b1  c1  a2  b2  c2
1   2   5   8   2   5   8
2   3   6   9   3   6   9

我们还可以使用 drop() 方法删除 Excel 文件中的一列:

#读取excel文件(df1和df2合并的值)
print(merged_df)
print("\n")#删除a1列
merged_df = merged_df.drop("a1",axis=1)
print(merged_df)#同时删除两列
#merged_df = merged_df.drop(["b1","b1"],axis=1)

输出结果:

   a1  b1  c1  a2  b2  c2
1   2   5   8   2   5   8
2   3   6   9   3   6   9b1  c1  a2  b2  c2
1   5   8   2   5   8
2   6   9   3   6   9

(10)读取csv文件

读取CSV文件的示例代码:

import pandas as pd# 创建数据框
df = pd.DataFrame({"Column1": [1, 2, 3],"Column2": [4, 5, 6],"Column3": [7, 8, 9]
})# 将数据框写入csv文件
df.to_csv("filename.csv", index=False)# 读取CSV文件
df = pd.read_csv("filename.csv")# 打印数据框内容
print(df)

输出:

   Column1  Column2  Column3
0        1        4        7
1        2        5        8
2        3        6        9

(11)总结

在本文中,介绍了 Python 操作 Excel 的详细知识,包括:

  • 创建 DataFrame 对象
  • 读取 Excel 文件
  • 写入 Excel 文件
  • 筛选数据
  • 排序数据
  • 计算数据
  • 合并数据
  • 删除数据

通过学习本文,将能够使用 Python 进行excel和csv各种操作。

这篇关于《python每天一小段》-- (11)操作 Excel 详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤