Python库pandas之五

news2024/10/5 14:03:17

Python库pandas之五

  • 输入/输出
    • DataFrame.to_csv
      • 函数
      • 应用实列

输入/输出

DataFrame.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)

将DataFrame对象写入逗号分隔值 ,即csv文件。

参数说明

  • path_or_buf,该参数类型是字符串, 文件路径对象, 有类似文件特征的对象, 或None, 默认值为None
    path_or_buf可以是字符串、文件路径对象(实现 os.PathLike[str])或实现 write() 函数的类文件对象。
    如果path_or_buf是None,则结果以字符串形式返回。
    如果该参数是一个非二进制文件对象,则应使用 newline=‘’ 打开它,禁用通用换行符。
    如果该参数是一个二进制文件对象,mode可能需要包含“b”。

  • sep,该参数类型是字符串, 默认值为‘,’
    该参数是长度为 1 的字符串。它是输出文件的字段分隔符。

  • na_rep,该参数类型是字符串, 默认值为‘’
    替代丢失的数据。

  • float_format,该参数类型是字符串, Callable, 默认值为None
    用于浮点数的格式字符串。如果该参数是Callable,它优先于其他数字格式化参数。

  • columns,该参数类型是sequence, 是可选的
    要写的列。

  • header,该参数类型是bool或字符串list, 默认值为True
    确定是否输出列名称。如果参数是字符串列list,则它们被用作列名的别名。

  • index,该参数类型是bool, 默认值为True
    确定是否写行名称。

  • index_label,该参数类型是字符串,sequence, 或False, 默认值为None
    如果需要,索引列的列名称。
    如果该参数是None,并且 header 和 index 为 True,则使用索引名称。
    如果对象使用 MultiIndex,则应给出序列。
    如果为 False,则不打印索引名称字段。

  • mode,该参数类型是{‘w’, ‘x’, ‘a’}, 默认值为‘w’
    转发到 open(mode=) 或 fsspec.open(mode=) 来控制文件打开。典型值包括:
    ‘w’,首先截断文件。
    ‘x’,排他创建,如果文件已存在,则失败。
    ‘a’,如果存在,则追加到文件末尾。

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

  • compression,该参数类型是字符串或字典, 默认值为‘infer’
    用于输出数据的动态压缩。
    如果“infer”和“path_or_buf”是类似路径,则检测以下扩展名的压缩:“.gz”、“.bz2”、“.zip”、“.xz”、“.zst”、“.tar” 、“.tar.gz”、“.tar.xz”或“.tar.bz2”。
    如果该参数是None,表示不压缩。
    如果该参数是字典,那么该字典包含键 ‘method’,而且该键的值为 {‘zip’, ‘gzip’, ‘bz2’, ‘zstd’, ‘xz’, ‘tar’} 之一,其他键值对转发到 zipfile.ZipFile、gzip.GzipFile、bz2.BZ2File、zstandard.ZstdCompressor、lzma.LZMAFile 或 tarfile.TarFile。

  • quoting,该参数类型是csv 模块中的可选常量
    默认为 csv.QUOTE_MINIMAL。如果您设置了 float_format,则浮点数将转换为字符串,因此 csv.QUOTE_NONNUMERIC会将它们视为非数字。

  • quotechar,该参数类型是字符串, 默认值为‘"’
    该参数是长度为 1 的字符串。用于引用字段的字符。

  • lineterminator,该参数类型是字符串, 是可选的
    该参数是输出文件中使用的换行符或字符序列。默认为 os.linesep,这取决于调用此方法的操作系统(Linux 为“\n”,Windows 为“\r\n”)。

  • chunksize,该参数类型是int,或None
    一次写入的最大行数。

  • date_format,该参数类型是字符串, 默认为None
    日期时间对象的格式字符串。

  • doublequote,该参数类型是bool, 默认为True
    控制字段内quotechar 的引用。

  • escapechar,该参数类型是字符串, 默认为None
    该参数是长度为 1 的字符串。在合适的地方,用于转义 sep 和 quotechar 的字符。

  • decimal,该参数类型是字符串, 默认为‘.’
    该参数是字符串,被用作小数点分隔符。

  • errors,该参数类型是字符串, 默认为‘strict’
    指定如何处理编码和解码错误。

  • storage_options,该参数类型是字典, 是可选的
    对于特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发到 urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头),键值对将转发到 fsspec.open。

应用实列

下列程序使用各种不同的参数,说明这些参数如何影响DataFrame.to_csv的输出文件

import pandas as pd
import sqlite3 as sqlite

def df_to_csv(df):
    df.to_csv("test_1.csv", index=False);
    cols = ("name","salary")
    df.to_csv("test_2.csv", index=False, columns=cols);
    df.to_csv("test_3.csv", index=False, sep="|");
    cols = ("name","age")    
    df.to_csv("test_4.csv", index=False, columns=cols, header=("name", "Married age"));
    
if __name__ == "__main__":
    conn = sqlite.connect("test_db.db")
    
    df = pd.read_sql('SELECT * FROM peoples', conn)
    print(df)
    
    df_to_csv(df)

下列屏幕输出,给出DataFrame中包含的数据

C:\>python pandas_io_4.py
      name  age  salary
0    Helen   25   40000
1  Michael   20   20000
2      Tom   35   40000
3     John   30   20000
4     Jeff   25   50000
5  Johnson  350  120000

上述程序运行结束后,文件test_1.csv的内容

name,age,salary
Helen,25,40000
Michael,20,20000
Tom,35,40000
John,30,20000
Jeff,25,50000
Johnson,350,120000

上述程序运行结束后,文件test_2.csv的内容

name,salary
Helen,40000
Michael,20000
Tom,40000
John,20000
Jeff,50000
Johnson,120000

上述程序运行结束后,文件test_3.csv的内容

name|age|salary
Helen|25|40000
Michael|20|20000
Tom|35|40000
John|30|20000
Jeff|25|50000
Johnson|350|120000

上述程序运行结束后,文件test_4.csv的内容

name,Married age
Helen,25
Michael,20
Tom,35
John,30
Jeff,25
Johnson,350

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

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

相关文章

渗透测试入门学习——使用python脚本自动识别图片验证码,OCR技术初体验

写在前面 由于验证码在服务端生成后存储在服务器的session中,而标用于标识用户身份的sessionid存在于用户cookie中 所以本次识别验证码时需要用requests.session()创建会话对象,模拟真实的浏览器行为,保持与服务器的会话才能获取登录时服务…

wsl2 ubuntu 桥接以太网卡

注意:此方法需要至少 Windows 11 22H2。桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。 在桥接的作用下,类似于把宿主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,宿主机也同样插在这…

通信工程学习:什么是RARP反向地址解析协议

RARP:反向地址解析协议 RARP(Reverse Address Resolution Protocol,反向地址解析协议)是一种网络协议,其主要作用是在设备只知道物理地址(如MAC地址)时,允许其从网关服务器的地址解析…

致亲爱的Android studio

你的未来发展趋势: 可不可以把兼容性,什么的搞得更好。起因是我想写期末大作业,然后简单的把功能写的差不多了之后,我就想到处看看有没有一套比较好的类似于组件库的东西,但是没找到,然后就把目标锁定到了G…

Vue入门-Node.js安装

进入Node.js中文网 ​​​​​​​点击进入Node.js中文网 或者手动输入网址: https://www.nodejs.com.cn/download.html 点击下载64位安装包: 下载好之后双击进行安装 可选择个性化安装或默认安装 直接点【Next】按钮,此处可根据个人需求…

深度解析 HTTP

我的主页:2的n次方_ 1. HTTP 的简单介绍 HTTP :超文本传输协议,不仅能传输文本,还能传输图片,音频文件,视频 目前基本上都用的是 1.1 版本 https 可以认为是 http 的升级版,区别就是引入了…

【pytorch】张量求导4

再再接上文,看到作者有一个关于向量乘矩阵的描述。 经过搜索发现,现在的pytorch已经修复了这一问题,提供了mv()和matmul()两种方式实现矩阵和一维向量的乘积,可以参看这篇文章。 经过查阅pytorch的文件,找到了cuda侧…

如何利用 Kubernetes 取得成功

Kubernetes是一个开源编排平台,用于自动部署和管理容器化工作负载和服务,目前越来越受欢迎。 该平台由全球贡献者社区维护,其潜在优势包括提高资源效率、提高可扩展性和高可用性。 在过去几年中,Kubernetes 和相关的云原生技术已…

[Qt] 基于 Qt 的文件选择与图片显示功能实现

文章目录 基础版本:open1()功能解析:特点与限制: 增加路径记忆功能:open2()功能解析:特点与改进: 使用智能指针优化内存管理:open3()功能解析:特点与改进: 图片自适应窗口…

线程互斥函数的例子

代码 #include<stdio.h> #include<pthread.h> #include<sched.h> void *producter_f(void *arg); void *consumer_f(void *arg); int buffer_has_item0; pthread_mutex_t mutex; int running1; int main(void) {pthread_t consumer_t;pthread_t producter_t…

PCL 点云体素滤波

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 体素滤波实现 2.1.2 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xff08;长期更新&#xf…

Session会话管理技术

Session会话管理技术 会话: 两个交互,在开发中是指浏览器和服务器它们两个的交互 会话管理: 管理会话中产生的数据,一般是记录登录状态 补充: 状态管理,就是管理数据 1、 Session概述 Session用于记录用户的状态。Session指的是在一段时间内&#xff0c;单个客户端与Web服务…

【C++】—— 类和对象(中)

【C】—— 类和对象(中) 文章目录 【C】—— 类和对象(中)前言1. 类的默认成员函数2. 构造函数3. 析构函数4. 拷贝构造函数5. 赋值运算符重载5.1 运算符重载5.2 赋值运算符重载 结语 前言 小伙伴们大家好呀&#xff0c;昨天的 【C】——类和对象(上) 大家理解的怎么样了 今天…

【AI人工智能】文心智能体,双人冒险游戏智能体创作分享

背景 最近半年&#xff0c;“AI agent”&#xff08;智能体&#xff09;这一词汇变得非常热门。许多人以为创建自己的智能体会很复杂&#xff0c;实际上&#xff0c;现有的平台已经大大降低了操作门槛。只要有创意&#xff0c;几乎每个人都可以轻松创建属于自己的智能体。今天…

WordPress响应式Git主题响应式CMS主题模板

兼容 IE9、谷歌 Chrome 、火狐 Firefox 等主流浏览器 扁平化的设计加响应式布局&#xff0c;兼容电脑、和各个尺寸手机的完美响应 主题设置面板新增多种AD位&#xff0c;PC端和移动设备各不相同 在主题设置选项中就可以进行基本的SEO设置&#xff1a;首页、分类、文章等页面…

跟我学C++中级篇——函数调用的本质

一、进程的执行过程 正常的情况下&#xff0c;程序会被计算机从硬盘加载到内存中&#xff0c;然后跳转到主入口函数进行执行。依次按照逻辑对相关的模块进行加载调用。其中&#xff0c;最常用的就是调用一个函数&#xff0c;可以说&#xff0c;函数是C/C程序中的一个重要的基础…

Python——异常处理机制

Python 异常处理机制 Python异常与异常处理机制针对 Traceback 的解读try-except-else-finallyexcept语句except语句的机制在 except 语句中引用当前被处理的 Python 异常 finally语句finally语句执行后才能抛出未被处理的异常finally中执行return会导致异常丢失 raise 语句rai…

集合框架02:Collection使用(1)

视频链接&#xff1a;13.05 Collection使用&#xff08;1&#xff09;_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?p5&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 代码示例&#xff1a; package com.yundait.Demo01;import java.util.ArrayList; i…

hbuilderx+uniapp+Android健身房管理系统 微信小程序z488g

目录 项目介绍支持以下技术栈&#xff1a;具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是&#xff1a;数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 用户功能…

震撼!工业史上第一家万级别规模的工业数字化设备效果图平台

耗时八年打造&#xff0c;国内第一家万级别规模的工业数字化设备效果图平台 平台&#xff1a;www.kingview3d.cn 创作者&#xff1a;kingview3d郭工 行业&#xff1a;煤矿综合自动化、污水处理、净水处理、楼宇暖通、环保工程、医药废水处理、二供、无负压加压站、提升泵站、一…