当前位置: 首页 > news >正文

Python库pandas之五

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 sqlitedef 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.pyname  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.mrgr.cn/news/47124.html

相关文章:

  • ESP32,uart安装驱动uart_driver_install函数剖析,以及intr_alloc_flags 参数的意义
  • Qt中.pro文件中可以填加的宏和其他的信息
  • 【PDF转Word】 PDF在线转word文档 好用!优质网站资源推荐
  • 计算机网络—地址与子网(IPv4)相关知识总结
  • 【JVM-2.2】使用JConsole监控和管理Java应用程序:从入门到精通
  • C# 继承(接口)
  • 复古胶片风格人文扫街摄影后期Lr调色,手机滤镜PS+Lightroom预设下载!
  • 自动驾驶系统研发系列—全智能驾驶新高度:深入解析车道保持辅助(ELK)功能
  • ComfyUI 使用 LoRA 极简工作流
  • 关于摩托车一键启动无钥匙进入、智能科技创新
  • 2024年危化品经营单位(生产管理人员)考试题库及答案
  • 安装雷池社区版,保护网站安全
  • 无理工科背景的零基础小白如何入门AI?AI学习资料分享
  • Redis 数据类型string(字符串)
  • 各种遥控通讯方式的特点原理,优缺点
  • 餐饮连锁公司怎么做起来的,前期该如何起步?
  • 光纤---保偏光纤
  • QTableView 和 QStandardItemModel的关系
  • 会话管理:深入理解SQLAlchemy会话及其事务处理
  • 新手做独立站用哪个建站平台好呢
  • IMX6 HSD gt9xx触摸调试
  • zabbix7.0配置中文界面
  • 高中毕业|转行AI产品经理经验都在这了
  • Qt Creator 通过python解释器调用*.py
  • 这几个被淘汰的Python库,请不要再用!
  • PostgreSQL学习笔记八:高级命令TRUNCATE TABLE