Python 我的自定义方言输出在处理csv文件时没有使用双引号

Python 我的自定义方言输出在处理csv文件时没有使用双引号,python,python-3.x,csv,Python,Python 3.x,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"

我正在使用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)

这正是我所希望的。谢谢你的帮助。