我想使用Python的csv编写器编写一个固定宽度,空格分隔和最小引用的CSV文件.

输出示例:

item1 item2

"next item1" "next item2"

anotheritem1 anotheritem2

如果我用

writer.writerow( (“{0:15s}”.format(item1), “{0:15s}”.format(item2)) )

然后,使用空格定界符,由于项目格式的尾部空格而添加引号或转义符(取决于csv.QUOTE_ *常数),导致格式被破坏:

"item1 " "item2 "

"next item1 " "next item2 "

"anotheritem1 " "anotheritem2 "

当然,我可以自己格式化所有内容:

writer.writerow( (“{0:15s}{1:15s}”.format(item1, item2)) )

但是使用csv编写器没有太多意义.另外,当项目中嵌入空格并且应使用引号/转义符时,我将不得不手动进行整理.换句话说,似乎我需要一个(不存在)“ QUOTE_ABSOLUTELYMINIMAL” csv常量,该常量将充当“ QUOTE_MINIMAL”,但也将忽略尾随空格.

有没有一种方法可以实现“ QUOTE_ABSOLUTELYMINIMAL”行为,或者有其他方法可以使用Python的CSV模块获取固定宽度,以空格分隔的CSV输出?

我想要CSV文件中的固定宽度功能的原因是更好的可读性.因此,它会以CSV格式进行读取和写入,但由于采用了列结构,因此可读性更好.读取不是问题,因为csv skipinitialspace选项可以忽略多余的空格.令我惊讶的是,写作似乎是一个问题.

编辑:我得出结论,用当前的csv插件无法实现.它不是一个内置选项,我看不到任何合理的方式来手动实现它,因为似乎没有办法由Python的csv编写器编写额外的定界符而不引用或转义它们.因此,我可能必须编写自己的csv编写器.

python输出结果空格分割_用Python编写固定宽度,以空格分隔的CSV输出相关推荐

  1. python输出结果空格分割_使用Python分割ps的输出

    在Linux上,命令ps aux输出每个统计信息具有多个列的进程列表.例如 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ... pos ...

  2. css如何保留空格,HTML/CSS中的空格处理_如何保留页面中的空格

    html中的空格的规则 在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了.同时内容前后的空格也会被清除, 如下: fly63 com 显示效果为: fly63 com 备注: ...

  3. amp jsp空格 nps_HTML/CSS中的空格处理\_如何保留页面中的空格【转】

    HTML/CSS中的空格处理\_如何保留页面中的空格[转] HTML中的空格的规则 在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了.同时内容前后的空格也会被清除, 如下: ...

  4. python中空格替换_在Python中用单个空格替换多个空格

    本问题已经有最佳答案,请猛点这里访问. 我有这根绳子: mystring = 'Here is  some   text   I      wrote   ' 如何将双空格.三空格(-)替换为一个空格 ...

  5. python输出一个月日历表_关于python一个月总结

    今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...

  6. c语言将字符串按空格分割_字符串单词输入反向输出怎么搞?C语言又带着二维数组来了!...

    01 今天给大家安利一份代码,是关于字符串单词输入反向输出的实现效果的,就比如等你输入"welcome to China",程序会经过处理输出"China to welc ...

  7. python程序运行结果不停_关于python:在进程运行时不断打印Subprocess输出

    要从我的python脚本启动程序,我使用以下方法: def execute(command): process = subprocess.Popen(command, shell=True, stdo ...

  8. python输出到文件乱码_解决python解析文件时输出乱码

    首先获取到json模块,encoding指定文件编码utf-8,errors报错时忽略错误,print()输出结果看看是否有问题. # -*- coding: utf-8 -*- import jso ...

  9. python做作业没头绪_使用Python做作业

    python做作业没头绪 Applying OpenCV and Tesseract to do your math-homework 应用OpenCV和Tesseract进行数学作业 The pos ...

最新文章

  1. 一键安装MySQL5.6.43脚本
  2. c++ 多重背包状态转移方程_【模板】各种背包问题amp;讲解
  3. MFC之实现鼠标自动左击,频率可调,支持热键
  4. 40_自定义泛型方法及其应用
  5. 解决Centos 7 VNC黑屏
  6. 微服务java模块内存管理_Java 9模块服务
  7. js中实现cookie的增删改查(document.cookie的使用详情)
  8. 16.PHP脚本的执行
  9. 图书馆占座系统(四)
  10. MYSQL存储过程详解(创建、变量的定义、异常、错误输出、游标、调试)
  11. pentaho mysql_pentaho移植到MySQL
  12. 时间限制的命令(timeout)
  13. 帆软部署服务器linux,部署集成
  14. Python生成前缀+随机数
  15. python 声音强度检测_python检测音频中的静音
  16. 3万亿背后 阿里正在造全球通用计算机
  17. vue-router删除页面参数或清除地址栏路由参数
  18. 苏州吴江职高计算机学校排名,苏州十大排名中专
  19. 北京博奥智源,浅谈术语管理服务器软件开发所需功能设计
  20. Apple Watch如何重新配对

热门文章

  1. selenium 等待_Selenium等待:内隐,外显,流利和睡眠
  2. spring jpa 流式_从响应式Spring Data存储库流式传输实时更新
  3. web.xml.jsf_面向初学者的JSF 2.0教程
  4. spring api层打包_Spring项目的按层打包已过时
  5. ljc.framework_Java 9模块系统(拼图)@ LJC的HackTheTower
  6. neo4j 两个点创建关系_Neo4j:找到两个纬度/经度之间的中间点
  7. java向后兼容吗_Java向后不兼容历史的观察
  8. java 并发锁_Java并发教程–锁定:内在锁
  9. 命令模式应用_命令设计模式的应用
  10. Hibernate事实:始终检查Criteria API SQL查询