Pandas.to_csv()函数及全部参数使用方法一文详解+实例代码

news2025/1/13 6:32:51

目录

前言

一、基础语法与功能

二、参数说明和代码演示

1.path_or_buf 选择文件/文件路径写入

2.sep 指定分隔符

 3.na_rep 指定缺少数据表示

4.float_format 指定浮点型字符串输出格式

5. columns 指定要写入的列

6.header 是否需要写入列名

 7.index 是否写入行名称(索引)。

 8.index_label 是否写入列标签(索引)。

9.mode 指定写入的模式

 10.encoding 表示输出文件中使用的编码的字符串

11.compression 输出数据的动态压缩

12.quoting 设置引用格式

13.quotechar 引用字符

14.lineterminator 输出文件中使用的换行符或字符序列

15.chunksize 指定一次写入的行

16.date_format 指定日期时间对象的格式字符串

 17.doublequote 控制字段内quotechar的引用。

18.escapechar

19.decimal 字符识别为十进制分隔符

20.errors 指定如何处理编码和解码错误

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢


前言

Pandas常用作数据分析工具库以及利用其自带的DataFrame数据类型做一些灵活的数据转换、计算、运算等复杂操作,但都是建立在我们获取数据源的数据之后。因此作为读取数据源信息的接口函数必然拥有其强大且方便的能力,在读取不同类源或是不同类数据时都有其对应的read函数可进行先一步处理,这会减少我们相当大的一部分数据处理操作。每一个read()和to()函数,作为一名数据分析师我个人认为都应该掌握且熟悉它对应的参数,相对应的read()函数博主已有四篇文章详细解读了read_json、read_excel和read_sq、read_csv(),to()函数有两篇to_sql和to_json。

纵观整个数据源路径来看,最常用的数据存储对象:SQL、JSON、EXCEL以及这次要详解的CSV都遍及全了。 如果能够懂得该函数参数的使用可以减少大量后续处理DataFrame数据结构的代码,仅需要设置几个to_csv参数就可实现,因此本篇文章初衷为详细介绍并运用此函数来达到彻底掌握的目的。希望读者看完能够提出问题或者看法,博主会长期维护博客做及时更新,希望大家喜欢。


一、基础语法与功能

to_csv基础语法格式为:

DataFrame.to_csv(path_or_buf=None, 
                sep=',', 
                na_rep='', 
                float_format=None, 
                columns=None, 
                header=True, 
                index=True, 
                index_label=None, 
                mode='w', 
                encoding=None, 
                compression='infer', 
                quoting=None, 
                quotechar='"', 
                lineterminator=None, 
                chunksize=None, 
                date_format=None, 
                doublequote=True, 
                escapechar=None, 
                decimal='.', 
                errors='strict', 
                storage_options=None)

可以看到参数是相当多的,比起read_excel、read_json和read_sql加起来还要多。说明了使用csv文件存储数据的频率是其他记录数据文件的几倍之高,因此关于csv文件的处理参数也会有如此之多。这是好事,等到我们将csv文件转换为了DataFrame数据再处理时,就需要写很多代码去处理,提供了这么多参数可以大大加快我们处理文件的效率。

我们将要转为csv的数据dataframe为:

二、参数说明和代码演示

以下为官方文档,推荐直接点目录看:

pandas.DataFrame.to_csv — pandas 1.5.2 documentation

1.path_or_buf 选择文件/文件路径写入

接收类型:str, path object, file-like object, or None, default None

参数说明:字符串、路径对象(实现os.PathLike[str])或实现write()函数的类似文件的对象。如果无,结果将作为字符串返回。如果传递了非二进制文件对象,则应使用换行符=“”打开该对象,禁用通用换行符。如果传递了二进制文件对象,则模式可能需要包含“b”。

2.sep 指定分隔符

接收类型:str, default ‘,’

参数说明:长度为1的字符串。输出文件的字段分隔符。

test_df.to_csv('./test_df.csv',sep=';')

 

 3.na_rep 指定缺少数据表示

接收类型:str, default ‘’

参数说明:缺少数据表示。可以理解为填充空值,使用fillnan也可以。

4.float_format 指定浮点型字符串输出格式

接收类型:str, Callable, default None

参数说明:设置浮点数的字符串格式。如果给定Callable,则它优先于其他数字格式参数,如十进制。

test_df.to_csv('./test_df.csv',sep=';',float_format='%.0f')

 

5. columns 指定要写入的列

接收类型:sequence, optional

参数说明指定要写入的列

test_df.to_csv('./test_df.csv',sep=';',float_format='%.0f',columns=['speed','dt'])

 

6.header 是否需要写入列名

接收类型:bool or list of str, default True

参数说明:写出列名。如果给定了字符串列表,则假定为列名的别名。如果需要追加写入的话该选项要设置为False。

test_df.to_csv('./test_df.csv',sep=';',float_format='%.0f',columns=['speed','dt'],header=False)

 

 7.index 是否写入行名称(索引)。

接收类型:bool, default True

参数说明:写入行名称(索引)。如果需要追加写入的话该选项要设置为False。

 8.index_label 是否写入列标签(索引)。

接收类型:str or sequence, or False, default None

参数说明:索引列的列标签(如果需要)。如果给定None,并且头和索引为True,则使用索引名称。如果对象使用MultiIndex,则应给出序列。如果为False,则不打印索引名称的字段。使用index_label=False可以更容易地在R中导入。

test_df.to_csv('./test_df.csv',sep=';',float_format='%.0f',header=True,index_label=False)

 

9.mode 指定写入的模式

接收类型:str, default ‘w’

参数说明:Python编写模式。可用的写入模式与open()是一样的。

只读模式r文件不存在报错
r(rt)只读方式打开文本文件,光标位于文件开头(默认模式)
rb读取二进制格式文件,光标位于文件开头
r+读写文件,光标位于文件开头
rb+读写二进制文件,光标位于文件开头
写入模式 w文件存在则覆盖,否则创建新文件
w(wt)写入文本文件
wb写入二进制文件
w+写入和读取文件
wb+写入和读取二进制文件
追加写入模式 a文件存在则末尾追加,否则创建新文件
a(at)追加写入文本文件
ab追加写入二进制文件
a+追加写入和读取文件
ab+追加写入和读取二进制文件

 10.encoding 表示输出文件中使用的编码的字符串

接收类型:str, optional

参数说明:表示输出文件中使用的编码的字符串,默认为“utf-8”。如果path_or_buf是非二进制文件对象,则不支持编码。

11.compression 输出数据的动态压缩

接收类型:str or dict, default ‘infer’

参数说明:用于输出数据的动态压缩。如果“infect”和“path_or_buf”是类似路径的,则从以下扩展名检测压缩:“.gz”、“.bz2”、“.zip”、“.xz”、”.zst“、”.tar“、”.tar.gz“、”.star.xz“或”.tar.bz2“(否则不压缩)。设置为“无”表示无压缩。也可以是关键字“method”设置为{“zip”、“gzip”、“bz2”、“zstd”、“tar”}之一的dict,其他键值对分别转发到zipfile.zipfile、gzip.GzipFile、bz2.BZ2File、zstandard.ZstdCompressor或tarfile.tarfile。例如,为了更快地压缩并创建可复制的gzip存档,可以传递以下命令:compress={‘method‘:‘gzip‘,‘compresslevel‘:1,‘mtime‘:1}。

12.quoting 设置引用格式

接收类型:optional constant from csv module
参数说明:默认值为csv.QUOTE_MINIMAL。如果设置了float_format,则float将转换为字符串,因此csv.QUITE_NONNUMERIC将它们视为非数字。

13.quotechar 引用字符

接收类型:str, default ‘"’

参数说明:长度为1的字符串。用于引用字段的字符。

14.lineterminator 输出文件中使用的换行符或字符序列

接收类型:str, optional

参数说明:要在输出文件中使用的换行符或字符序列。默认为os.lineep,这取决于调用此方法的操作系统(“\n”表示linux,“\r\n”表示Windows,即)。

15.chunksize 指定一次写入的行

接收类型:int or None

参数说明:一次写入的行。

16.date_format 指定日期时间对象的格式字符串

接收类型:str, default None

参数说明:日期时间对象的格式字符串。

test_df.to_csv('./test_df.csv',sep=';',date_format='yyyy/mm/dd')

 

 17.doublequote 控制字段内quotechar的引用。

接收类型:bool, default True

参数说明:控制字段内quotechar的引用。

18.escapechar

接收类型:str, default None

参数说明:长度为1的字符串。适当时用于转义sep和quotechar的字符。

19.decimal 字符识别为十进制分隔符

接收类型:str, default ‘.’

参数说明:字符被识别为十进制分隔符。E、 g.欧洲数据使用“,”。

20.errors 指定如何处理编码和解码错误

接收类型:str, default ‘strict’

参数说明:指定如何处理编码和解码错误。有关选项的完整列表,可参阅open()的errors参数。

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/117866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【实时数仓】Sugar拉取数据展示、品牌销售排行接口、品类销售占比接口和热门商品SPU排名接口的实现

文章目录一 Sugar拉取数据展示1 内网穿透(1)作用(2)工具(3)本机ip地址(4)花生壳配置2 配置组件二 品牌销售排行接口1 Sugar配置(1)图表配置(2&…

2022《粤语好声音-乐队风暴》全国总决赛圆满收官!

2022年12月17日,由广东珠江、盛娱星汇海选联合主办的2022《粤语好声音-乐队风暴》全国总决赛在广州增城1978电影小镇正式拉开帷幕。从海选到全国总决赛,2022《粤语好声音-乐队风暴》在21座城市中,通过线上线下双模式开展,历时6个月…

OpManager 虚拟化管理

什么是虚拟化 虚拟化是创建计算资源的虚拟形式,如计算机、服务器或其他硬件组件,或基于软件的资源(如操作系统)。虚拟化最常见的示例是在操作系统安装期间对硬盘进行分区,其中物理硬盘驱动器被拆分为多个逻辑磁盘以提…

重点 |中级软件设计师易混淆知识点 (1)

本文章总结了软件设计师考试易混淆知识点!!! 帮助大家更好的复习,希望能对大家有所帮助 比较长,放了部分,需要可私信!! 易混淆点1:原、反、补码的运算 1、原码&#x…

Технокубок 2021 - Финал C. Basic Diplomacy

翻译: Aleksey有𝑛个朋友。他现在也在度假,所以他有𝑚天来玩这款新的病毒式合作游戏!但由于它是合作的,阿列克谢将需要一个队友在每个𝑚天。 在这些日子里,每天都有一些朋友可以玩&#xff0c…

Spring 依赖注入

文章目录流程图依赖注入的方式手动注入自动注入XML的autowire自动注入autowire BY_NAME 与 BY_TYPE(已过时)执行时机:AUTOWIRE_BY_NAMEAUTOWIRE_BY_TYPEAutowired注解的处理(含Value,Inject)AutowiredAnnotationBeanPostProcessorresolveDependencyfindA…

机器学习——线性模型学习

线性回归 主要目标确定 如何确定w和b呢?关键在于如何衡量f(x)与y的差别 此种衡量误差的方法称为均方误差也称为欧式距离 求解w和b使上述方程最小化的过程称为线性回归模型的最小二乘”参数估计“ 多元线性回归 针对多个属性的数据集D,此时试图学得 …

DHCP学习

目录 DHCP基本认识和原理 场景一、同网段DHCP 场景二、不同段DHCP(中继DHCP) DHCP基本认识和原理 DHCP(Dynamic Host Configuration Protocol动态主机协议)。 作用:为局域网络中主机动态分发地址,以及…

INMP441麦克风芯片--支持I2S、ESP32

1.简介 INMP441是InvenSense公司推出的一款具有底部端口的高信噪比、低功耗、数字输出的全向MEMS麦克风,信噪比高达61dB,使其成为近场应用的绝佳选择。INMP441的电路结构如图所示,包括MEMS声音传感器、模数转换器(ADC&#xff09…

人工智能的2022:技术的价值在于生产力

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

孤独的照片(思维)

Farmer John 最近购入了 NN 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。 奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。 然而&#xff0…

初识Kubernetes:(2)Kubernetes环境搭建

初识Kubernetes:(2)Kubernetes环境搭建1 环境规划1.1 集群类型1.2 安装方式2 环境搭建2.1 minikube安装2.2 启动集群3 服务部署1 环境规划 1.1 集群类型 Kubernetes集群大致分为两类:一主多从和多主多从。 一主多从&#xff1a…

UE4 shader编程 基础学习笔记 --- 熟悉各个节点

Texture Sample:用所需要的纹理覆盖到Mesh上,展示效果,Mesh上存在漫反射 高光 环境变量的和制造出了左上角的纹理光照效果 该节点只能设置其黑白效果 0为黑,1为白 该节点可以调节R、G两个参数 该节点可以调节RGB三个参数 该节…

C#---第十八课:Debug调试技巧--Debug类、pin 、add watch、拖动断点、修改变量、两个断点的联动

文章目录1. 在output窗口中输出变量的内容----Debug类2. Pin变量 / add watch 实时监控变量的变化(1) pin to sources(2) add watch3. 自由拖动黄色箭头图标4. 直接修改变量的值5. 两个断点的联动(当一个断点触发,另一个断点才会触发debug)1.…

变革:区块链上的政府和企业应用

发表时间:2022年5月12日 信息来源:coingeek.com 区块链只与数字货币和金融交易挂钩的时代已经过去了。这项技术在过去十年中不断发展,今天,它为游戏、社交媒体应用、医疗保健以及供应链管理等多个领域提供着支持。相比其它领域&am…

SpringBoot 整合【Mybatis-Plus实现分页查询】

目录 1. 添加pom.xml依赖 2. 配置application.yml文件 3. mybatis-plus插件配置核心类 4. 启动类配置 5. 测试数据Sql脚本 6. mybatis-plus代码生成 7. 测试分页查询 1. 添加pom.xml依赖 <!--mybatis-plus--><dependency><groupId>com.baomidou</g…

Weighted Logistic Regression和Youtube时长预估

前段时间阅读了youtube的经典论文《Deep Neural Networks for YouTube Recommendations》&#xff0c;其通过weighted LR来实现时长预估&#xff0c;在其原文中对实现的描述非常短&#xff0c;大概意思是在损失函数中&#xff0c;对正例&#xff08;点击&#xff09;的交叉熵项…

中断的分类,中断指令,中断类型码,中断向量表,中断优先级

目录 PC机的中断系统 中断的分类 内部中断&#xff08;软件中断&#xff09; 故障 陷阱 异常终止 中断指令 指令类型中断指令 INT N 溢出中断指令 INTO 中断返回指令 IRET 外部中断&#xff08;硬件中断&#xff09; 非屏蔽中断&#xff08;NMI&#xff09; 可…

Springboot实现定时任务调度

前言 今天给大家分享一下&#xff0c;如何使用springboot快速实现简单的定时调度任务&#xff1f;有两种方法&#xff1a;基于注解的声明式调度任务注册&#xff1b;另外一种是基于实现SchedulingConfigurer的编程式的调度任务注册。 1. 基于注解&#xff08;Scheduled&#…

Problem Set 2

Regularized Normal Equation for Linear Re-gression Given a data set {ar(), y()}i1,.-.,m with x()∈ R" and g(∈ R, the generalform of regularized linear regression is as follows n (he(zr)- g)3入>0号 (1) ” 2m i1 j1 Derive the normal equation. 设 X[(…