Обрамляет и слова и символы
я создал диалект и хочу прочитать его с помощью 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', '']