对csv文件,又get了新的认知(二)

背景

最近在做数据处理时,发现别人给的 csv 文件用 txt 打开后,发现里面的所有字段都是带双引号,与自己之前见过的 csv 文件有点不一样,自己脑海里面隐约也见过 python 有相关的设置参数,于是就查看 python 官方文档中的 csv 模块介绍,总结分享出来予以记录,方便后续查看

csv文档地址:https://docs.python.org/zh-cn/3.11/library/csv.html
csv代码:https://github.com/python/cpython/blob/3.11/Lib/csv.py

csv 模块的常量是从 _csv 模型引入,_csv 是用 c 语言编写

_csv模块引入
_csv c语言代码片段

csv模块定义的常量说明

  • csv.QUOTE_ALL,等于0
    指示 writer 对象给所有字段加上引号
  • csv.QUOTE_MINIMAL,等于1
    指示 writer 对象仅为包含特殊字符(例如 定界符(delimiter)引号字符(quotechar)行结束符(lineterminator) 中的任何字符)的字段加上引号
  • csv.QUOTE_NONNUMERIC,等于2
    指示 writer 对象为所有非数字字段加上引号
    指示 reader 将所有未用引号引出的字段转换为 float 类型
  • csv.QUOTE_NONE,等于3
    指示 writer 对象不使用引号括住字段。当 定界符(delimiter) 出现在输出数据中时,其前面应该有 转义符(escapechar)。如果未设置 转义符(escapechar),则遇到任何需要转义的字符时,writer 都会抛出 Error 异常
    指示 reader 不对引号字符进行特殊处理
常量

在 pandas 中的案例演示

模拟数据

模拟数据

pandas to_csv
默认使用的是 csv.QUOTE_MINIMAL
文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

to_csv
quoting

csv.QUOTE_ALL 生成csv文件

QUOTE_ALL

csv.QUOTE_MINIMAL 生成csv文件

QUOTE_MINIMAL

csv.QUOTE_NONNUMERIC 生成csv文件

QUOTE_NONNUMERIC

csv.QUOTE_NONE 生成csv文件

QUOTE_NONE

jupyter-notebook 完整代码

生成csv

历史相关文章


以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据人阿多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值