Мой вывод с настраиваемого диалекта не использует двойные кавычки при обработке файла csv - PullRequest
0 голосов
/ 01 августа 2020

Я использую 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']

1 Ответ

1 голос
/ 01 августа 2020

Вы печатаете объект Python.

Вы должны использовать функцию объекта csv.writer.writerow writer для записи вывода.

Например:

    sourceFile = csv.reader(f, dialect='pipes')
    w = csv.writer(sys.stdout)
    for row in sourceFile:
        w.writerow(row)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...