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)


目录
相关文章
|
7月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
1725 2
|
6月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1152 68
|
6月前
|
人工智能 Java Linux
Python高效实现Excel转PDF:无Office依赖的轻量化方案
本文介绍无Office依赖的Python方案,利用Spire.XLS、python-office、Aspose.Cells等库实现Excel与PDF高效互转。支持跨平台部署、批量处理、格式精准控制,适用于服务器环境及自动化办公场景,提升转换效率与系统稳定性。
706 7
|
6月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
605 0
|
9月前
|
开发工具 Python
使用Python和OpenAPI将云上的安全组规则填写入Excel
本文介绍如何通过Python脚本自动化获取阿里云安全组及其规则信息,并将结果导出为Excel表格。相比CLI命令行方式,Python实现更高效、便捷,适用于需要批量处理和交付的场景。
使用Python和OpenAPI将云上的安全组规则填写入Excel
|
9月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
9月前
|
编译器 Python
如何利用Python批量重命名文件
本文介绍了如何使用Python和PyCharm对文件进行批量重命名,包括文件名前后互换、按特定字符调整顺序等实用技巧,并提供了完整代码示例。同时推荐了第三方工具Bulk Rename Utility,便于无需编程实现高效重命名。适用于需要处理大量文件命名的场景,提升工作效率。
|
8月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
276 0
|
10月前
|
编解码 Prometheus Java
当Python同时操作1000个文件时,为什么你的CPU只用了10%?
本文介绍如何构建一个高效的文件处理系统,解决单线程效率低、多线程易崩溃的矛盾。通过异步队列与多线程池结合,实现任务调度优化,提升I/O密集型操作的性能。
234 4
|
9月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
2278 0