python - 我的自定义方言输出在处理 csv 文件时未使用双引号
问题描述
我正在使用 Python 3.6.6。我有以下代码,根据我阅读的内容和我看到的示例,这似乎应该用双引号引用所有内容。但是我在输出中只看到单引号:
import os
import csv
csv.register_dialect('pipes', quoting=csv.QUOTE_ALL, delimiter='|', quotechar = '"',)
with open("C:\\test3\\pymorsel\\fixcsv\\sourcefile.psv", 'r') as f:
sourceFile = csv.reader(f, dialect='pipes')
for row in sourceFile:
print(row)
我的输入文件:
Reading|Make|Model|Type|Value
Reading 0|Toyota|"Previa"|distance|19.83942
Reading 1|Dodge|Intrepid, test|distance|31.28257
我的输出:
['Reading', 'Make', 'Model', 'Type', 'Value']
['Reading 0', 'Toyota', 'Previa', 'distance', '19.83942']
['Reading 1', 'Dodge', 'Intrepid, test', 'distance', '31.28257']
解决方案
您正在打印 Python 对象。
您应该使用csv.writer.writerow
writer 对象函数来编写输出。
例如:
sourceFile = csv.reader(f, dialect='pipes')
w = csv.writer(sys.stdout)
for row in sourceFile:
w.writerow(row)
推荐阅读
- amazon-web-services - 使用spring cloud aws消息传递确认AWS SQS消息删除
- reactjs - 用左右两个不同的按钮反应原生组件
- r - 使用反引号创建名称与在 R 中使用单引号和双引号
- java - 使用接口中定义的方法调用克隆方法
- javascript - 跨 dom 节点突出显示单词
- php - 在我取消设置变量之前,我的多表单页面运行良好。为什么?
- python - 为什么我的 python 列表元素(子数组)在与另一个交换时被覆盖?
- python - groupby 并将列堆叠成单个列
- rest - 如果我想保持 API RESTful,检查用户名是否已在客户端注册的最佳方法是什么?
- java - 无法从 java maven 项目的 docker run 命令访问 jarfile