Python 读写 Excel 文件

简介: Python 读写 Excel 文件

在 Python 中,想去读写 Excel 文件的方式,有蛮多种方式的,比如说可以用 xlrd、openpyxl、pandas 等模块都能去实现,只是说在不同的模块上去读写稍有区别。

我自己喜欢使用 pandas,它足够强大。

01 Pandas 是什么?

Pandas 是一个开源的第三方 Python 库,基于 Numpy 和 Matplotlib 上构建而来,业内数据分析主流方向【三件套】(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它作为强大、灵活、可以支持任何编程语言的数据分析工具,颇受大家的喜爱。

02 安装 Pandas

第一种方式(推荐):

打开终端,输入:pip install pandas命令即可安装。

第二种方式:

找到 Pandas 的下载库:https://www.lfd.uci.edu/~gohlke/pythonlibs/

然后下载自己想要的版本。

03 将数据写入 Excel 文件

Excel 就是一个表格,它里面有【行】和【列】,这是我们需要重点关注的两个地方,不管是读数据,还是写数据,其实就是在操作行和列。

非常简单的,咱们来实现一个简单的【用户表】,大致思路是这样的:

  1. 先导入 pandas 库
  2. 准备数据,并创建一个工作表
  3. 自定义索引(我故意加的)
  4. 将数据写到 excel 表格中(此处会自动创建 excel 文件)

具体代码如下:

# 第一步,导入 pandas 库,取个别名
import pandas as pd
# 第二步,准备数据,并创建一个工作表
# DataFrame 数据帧,重点概念
# 它相当于我们【工作簿】中的一个【工作表】
df = pd.DataFrame({
    'id':[1,2,3], 
    'name':['张三', '李四', '王五'],
    'age':[22, 33, 44]
})
# 第三步,Pandas 会使用默认的索引
# 但咱还是自定义索引吧,要不导致生成的工作表也会存在它默认的索引,不太好
df = df.set_index('id')
print(df)
# 第四步,将数据写入到 excel 文件中
df.to_excel('people.xlsx')
print('Done!')

04 从 Excel 中读取数据

有个前提,你得先有一份 excel 文件,千万不要太紧张给忘了。

就一个重点方法:read_excel()

你可以指定读哪个文件?读哪个工作表?从哪行开始读?……

咱们,还是看代码吧,非常简单:

# 参数1:指定读取 hello.xlsx 文件
# 参数2:header = 3 表示从第四行开始,因为索引是从 0 开始的
# 参数3:sheet_name 指定所要去读取的工作表
user= pd.read_excel('user.xlsx', header=3, sheet_name='sheet1')
# 输出列名
print(user.columns)
# 如果你的 Excel 中没有开头标题,可以用 header = None 来进行设置
user= pd.read_excel('user.xlsx', header=None)
user.columns = ['id', 'name', 'age']
print(user.columns)
# 通过 index_id 去指定 id 列作为索引
user = pd.read_excel('user.xlsx', index_col='id')
# head 默认指输出前 5 行,此时就不会产生默认索引了
print(user.head())
# skiprows 开头跳过几行
# usecols 使用那些列中的数据
# dtype 设置某一列的类型
users = pd.read_excel('user.xlsx', skiprows = 3, usecols='E:H', dytpe={'ID':str, 'gender':str, 'birthday':str})
# 如果你想按照某个列去排序,也是可以的
# 使用 sort_values 就可以实现了
# sort_values 指按值排序
# by 指针对某一行
# ascending 为 False 指表示从大到小
# inplace 指是否马上生效
users.sort_values(by='age', ascending=False, inplace=True)


目录
相关文章
|
9天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
43 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
305 60
|
29天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
11天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
15 2
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
45 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
1月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
51 1
Python实用记录(十三):python脚本打包exe文件并运行
|
17天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
24 4
|
21天前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
|
24天前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
50 2
|
27天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。