Я использую модуль csv Python3 и задаюсь вопросом, почему я не могу правильно управлять цитированием. Я использую опцию quoting = csv.QUOTE_NONNUMERIC
, но я все еще вижу все цитируемые записи. Любая идея, почему это так?Как управлять цитированием на не числовых записей в файле csv?
Вот мой код. По сути, я читаю в .csv файл и хочу удалить все повторяющиеся строки, которые имеют ту же строку:
import sys
import csv
class Row:
def __init__(self, row):
self.text, self.a, self.b = row
self.elements = row
with open(sys.argv[2], 'w', newline='') as output:
writer = csv.writer(output, delimiter=';', quotechar='"',
quoting=csv.QUOTE_NONNUMERIC)
with open(sys.argv[1]) as input:
reader = csv.reader(input, delimiter=';')
header = next(reader)
Row.labels = header
assert Row.labels[1] == 'Label1'
writer.writerow(header)
texts = set()
for row in reader:
row_object = Row(row)
if row_object.text not in texts:
writer.writerow(row_object.elements)
texts.add(row_object.text)
Когда я смотрю на сгенерированный файл, содержание выглядит следующим образом:
"Label1";"Label2";"Label3"
"AAA";"123";"456"
...
Но я хочу этого:
"Label1";"Label2";"Label3"
"AAA";123;456
...