Я пытаюсь создать CSV-файл с использованием Python, который действительно совместим с Excel (я использую Excel 2007, если это имеет какое-то значение).
Вот что я пытаюсь сделать
import csv
data = [ ['9-1', '9-2', '9-3'] ]
fd = open('test.csv', 'wb')
try:
writer = csv.writer(fd, dialect='excel', quotechar='"', quoting=csv.QUOTE_ALL)
writer.writerows(data)
finally:
fd.close()
Это создает CSV-файл, который содержит:
"9-1","9-2","9-3"
Когда я загружаю его в Excel, я получаю столбцы:
09-Jan 09-Feb 09-Mar
[Grrr, спасибо Excel. Серьезно, какой смысл в кавычках?]
Теперь я прочитал в другом месте , что для того, чтобы Excel мог обрабатывать строки как литералы, они должны начинаться со знака равенства ="Like This"
. Так что я действительно хочу произвести:
="9-1",="9-2",="9-3"
Есть ли способ сделать это с помощью модуля csv
в python? Я предполагаю, что это потребует создания пользовательского диалекта , но я не вижу никакой переменной, которая дала бы мне желаемый результат.