Обрамляет и слова и символы

я создал диалект и хочу прочитать его с помощью sniff, ошибок не выдает, но проблема в том, в том что он не убирает символы разделения и тоже их обрамляет. А мне надо, чтобы только слова были обрамлены. Код для создания диалекта:

import csv

class CustomDialect(csv.Dialect):
    quoting = csv.QUOTE_ALL
    quotechar = "*"
    delimiter = "~"
    lineterminator = '\n'

csv.register_dialect('tester', CustomDialect)

with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f, dialect='tester')
    writer.writerow(['Max', 'Maximov', 19])
    writer.writerow(['San', 'Sanych', 1000])
    writer.writerow(['Ivan', 'Ivanov', 1])

Код для чтения диалекта с помощью снифера:

import csv

sniffer = csv.Sniffer()
dialect = None

with open('output.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

with open('output.csv', 'r') as f:
    content = f.read()
    dialect = sniffer.sniff(content)

print(dialect.delimiter, dialect.doublequote, dialect.quoting)

with open('output.csv', 'r') as f:
    reader = csv.reader(f, dialect=dialect)
    for row in reader:
        print(row)

csv файл:

*Max*~*Maximov*~*19*
*San*~*Sanych*~*1000*
*Ivan*~*Ivanov*~*1*

Результат чтения файла:

['', 'Max', '~', 'Maximov', '~', '19', '']
['', 'San', '~', 'Sanych', '~', '1000', '']
['', 'Ivan', '~', 'Ivanov', '~', '1', '']

Ответы (0 шт):