Pandas 文件读取与保存指南:高效处理 CSV、Excel 等多种格式数据

embedded/2024/10/25 6:06:50/

Pandas 文件读取与保存指南:高效处理 CSV、Excel 等多种格式数据

本文详细介绍了如何使用 Pandas 的 IO 工具从各种常见文件格式(如 CSV、Excel、HTML、TXT 等)中读取和保存数据。通过 Pandas,用户可以轻松读取和修改数据,并支持将处理后的数据保存为多种格式,如 Excel 和 CSV。文章不仅涵盖了基本的文件操作,还展示了如何使用自定义分隔符读取特殊文本文件、从网页读取表格数据,以及从剪贴板读取内容的功能。Pandas 提供了强大的数据处理接口,让数据读取和保存变得更加高效和灵活,是数据分析工作中的得力助手。

文章目录

  • Pandas 文件读取与保存指南:高效处理 CSV、Excel 等多种格式数据
      • 一 主要 IO 工具
      • 二 Excel 文件读取与保存
      • 三 纯文本文件读取与保存
        • 1 读取 CSV 文件
        • 2 读取特殊分隔符文件
        • 3 读取 TXT 文件
        • 4 保存为 CSV 和 Excel 文件
      • 四 其他功能
      • 五 完整代码示例
      • 六 源码地址

Pandas 提供了丰富的 IO 工具来读取和保存各种数据文件,如 Excel、CSV、HTML、JSON 等。以下是一些常用的读取方法示例。

一 主要 IO 工具

文件类型读取方法保存方法
Excel 文件pd.read_excel()df.to_excel()
纯文本文件(CSV/TXT)pd.read_csv()df.to_csv()
其他(剪贴板/HTML)pd.read_clipboard()pd.read_html()

:Pandas 的 IO 工具支持多种格式,包括 CSV、Excel、JSON、XML、SQL、HTML、LaTeX 等,详细信息请参考 Pandas 官方文档。

二 Excel 文件读取与保存

读取 Excel 文件

python">import pandas as pddf = pd.read_excel("data/体检数据.xlsx", index_col=0)
print(df)

如果缺少 openpyxl 库,可以通过以下命令安装

pip install openpyxl

修改数据并保存

python">df.loc[2, "体重"] = 1
df.to_excel("data/体检数据_修改.xlsx")
print(pd.read_excel("data/体检数据_修改.xlsx", index_col=0))

更多读取和保存 Excel 文件的参数,请参考 Pandas read_excel。

三 纯文本文件读取与保存

1 读取 CSV 文件
python"># 使用原生 Python 读取 CSV
with open("data/体检数据.csv", "r", encoding="utf-8") as f:print(f.read())# 使用 Pandas 读取 CSV
import pandas as pddf_csv = pd.read_csv("data/体检数据.csv", index_col=0)
print(df_csv)
2 读取特殊分隔符文件
python">df_csv = pd.read_csv("data/体检数据_sep.csv", index_col=0, sep="=")
print(df_csv)
3 读取 TXT 文件
python">df_txt = pd.read_csv("data/体检数据_sep.txt", index_col=0, sep="=")
print(df_txt)
4 保存为 CSV 和 Excel 文件
python">df_txt.to_csv("data/体检数据_sep_修改.csv")
df_txt.to_excel("data/体检数据_sep_修改.xlsx")

四 其他功能

从剪贴板中读取数据:

python">df = pd.read_clipboard()
print(df)

从网页读取表格数据:

python">df_list = pd.read_html("https://mofanpy.com/tutorials/data-manipulation/pandas/read-save/")
print(df_list)

更多关于 Pandas 读取数据库、JSON 等文件的信息,详见 Pandas IO 文档。

五 完整代码示例

python"># This is a sample Python script.# Press ⌃R to execute it or replace it with your code.
# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings.
import pandas as pddef print_hi(name):# Use a breakpoint in the code line below to debug your script.print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.# Excel文件# pd.read_excel()# df.to_excel()# csv或txt等纯文本文件# pd.read_csv()# df.to_csv()# 其他有趣的# pd.read_clipboard()# pd.read_html()df = pd.read_excel("./data/体检数据.xlsx", index_col=0)print(df)df.loc[2, "体重"] = 1print(df)df.to_excel("data/体检数据_修改.xlsx")print(pd.read_excel("data/体检数据_修改.xlsx", index_col=0))# csv或txt等纯文本文件# Python 打开文件with open("data/体检数据.csv", "r", encoding="utf-8") as f:print(f.read())# Pandas 打开csvdf_csv = pd.read_csv("data/体检数据.csv", index_col=0)print(df_csv)# Pandas 打开特殊字符分隔的文件with open("data/体检数据_sep.csv", "r", encoding="utf-8") as f:print(f.read())df_csv = pd.read_csv("data/体检数据_sep.csv", index_col=0, sep="=")print(df_csv)# 打开 txt 文件with open("data/体检数据_sep.txt", "r", encoding="utf-8") as f:print(f.read())df_txt = pd.read_csv("data/体检数据_sep.txt", index_col=0, sep="=")print(df_txt)# 文本能保存为 csv 也能保存为 exceldf_txt.to_csv("data/体检数据_sep_修改.csv")df_txt.to_excel("data/体检数据_sep_修改.xlsx")print("读保存后的 csv")print(pd.read_csv("data/体检数据_sep_修改.csv"))print("读保存后的 xlsx")print(pd.read_excel("data/体检数据_sep_修改.xlsx"))# 有趣的功能:从剪切板中读数据df = pd.read_clipboard()print(df)# Pandas 调取解析网页当中的表格数据df = pd.read_html("https://mofanpy.com/tutorials/data-manipulation/pandas/read-save/")print(df)# Pandas 读数据库,读 Json 官网:https://pandas.pydata.org/docs/reference/io.html# Press the green button in the gutter to run the script.
if __name__ == '__main__':print_hi('从文件读取数据')# See PyCharm help at https://www.jetbrains.com/help/pycharm/

复制粘贴并覆盖到你的 main.py 中运行,运行结果如下。

Hi, 从文件读取数据姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187  80  3800
3   小花  170  70  3400姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187   1  3800
3   小花  170  70  3400姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187   1  3800
3   小花  170  70  3400
学号,姓名,身高,体重,肺活量
1,小明,168,60,3200
2,小黄,187,80,3800
3,小花,170,70,3400姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187  80  3800
3   小花  170  70  3400
学号=姓名=身高=体重=肺活量
1=小明=168=60=3200
2=小黄=187=80=3800
3=小花=170=70=3400姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187  80  3800
3   小花  170  70  3400
学号=姓名=身高=体重=肺活量
1=小明=168=60=3200
2=小黄=187=80=3800
3=小花=170=70=3400姓名   身高  体重   肺活量
学号                   
1   小明  168  60  3200
2   小黄  187  80  3800
3   小花  170  70  3400
读保存后的 csv学号  姓名   身高  体重   肺活量
0   1  小明  168  60  3200
1   2  小黄  187  80  3800
2   3  小花  170  70  3400
读保存后的 xlsx学号  姓名   身高  体重   肺活量
0   1  小明  168  60  3200
1   2  小黄  187  80  3800
2   3  小花  170  70  3400
Empty DataFrame
Columns: [print(pd.read_excel("data/体检数据_sep_修改.xlsx"))]
Index: []
[   学号  姓名   身高  体重   肺活量
0   1  小明  168  60  3200
1   2  小黄  187  80  3800
2   3  小花  170  70  3400]

六 源码地址

代码地址:

国内看 Gitee 之 pandas/从文件读取数据.py

国外看 GitHub 之 pandas/从文件读取数据.py

引用 莫烦 Python


http://www.ppmy.cn/embedded/132259.html

相关文章

Java-线程池技术

一、线程池简介 线程池是一种池化的思想,是将一些共同资源放到池中进行管理和使用,从而避免大量的创建销毁带来的资源浪费等问题,线程池主要优点体现在: 降低资源消耗:普通线程创建执行完任务之后即被销毁&#xff0…

阿里云用STS上传oss的完整程序执行流程图 和前端需要哪些参数uniapp

H5 微信小程序可用的前端直传阿里云OSS(STS临时凭证前端签名)直接下载插件 下面是原理说明: 明白了,我来详细说明前端上传文件到阿里云OSS需要携带的具体参数: 从服务器获取的 STS 凭证: // 这些参数需要从你的后端服务器获…

从0开始学python-day14-pandas1

一、基础 1、概述 Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来 Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)…

10.22.2024刷华为OD C题型(三)--for循环例子

脚踝动了手术,现在宾馆恢复,伤筋动骨一百天还真不是说笑的,继续努力吧。 文章目录 靠谱的车灰度图恢复灰度图恢复 -- for循环使用例子 靠谱的车 https://www.nowcoder.com/discuss/564514429228834816 这个题目思路不难,就是要自…

k8s 部署 emqx

安装cert-manager 使用Helm安装 helm repo add jetstack https://charts.jetstack.io helm repo update helm upgrade --install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--set installCRDstrue如果通过helm命令安装失败&#x…

gitlab不同账号间·仓库转移

背景:公司业务调整,原先在海外仓库的代码转移回国内 诉求:完整的保留项目记录 操作: 步骤一: 定位到需要迁移的原项目地址 步骤二:创建新项目 步骤三:打开命令行,创建好文件路径为需要clo…

docker 镜像详解

Docker镜像是一种轻量级、可移植的软件打包格式,它包含了运行应用程序所需的一切,是构建和分发应用程序的基础。以下是对Docker镜像的详细解释: 一、镜像的定义 镜像本质上是一个只读文件,包含了文件系统、源码、库文件、依赖、…

Page Cache(页缓存)的大小如何确定

Page Cache(页缓存)的大小是由多个因素共同决定的,以下是一些关键因素: 一、系统物理内存大小 Page Cache位于内存和磁盘之间,它利用系统内存来缓存磁盘数据。因此,系统物理内存的大小是决定Page Cache大…