LINUX.ORG.RU

Создать текстовый столбец в csv файле

 ,


0

1

Нужно в создать csv файл, столбец заполнить кодами строками вида

'10000000000000000'
'10100000000000000'
и т.д.

Делаю так:

with open("1.csv", mode="w", encoding='cp1251') as w_file:
    file_writer = csv.writer(w_file, delimiter = ";", lineterminator="\r")
    file_writer.writerow(['10000000000000000'])
    file_writer.writerow(['10100000000000000'])
Файл создает нормально, но когда его открываешь в excel, он автоматом эти строки приводит к числовому формату, получается столбец такого вида:
1E+16
1.01E+16
При открытии в excel нет возможности указать текстовый формат столбца (как это сделано например в LibreOffice), а если сменить формат ячеек в уже открытом документе, то excel просто числа приводит к строкам 1E+16, 1.01E+16 - по факту ничего не меняется, желаемого столбца из
10000000000000000
10100000000000000
не получается.

1) Можно ли в python при создании csv файла задать формат ячейки, чтобы excel уже открывал как нужно?

2) Если первый вариант невозможен, можно ли настроить excel, чтобы при открытии документа не приводил текст к числам?



Последнее исправление: polin11 (всего исправлений: 3)

Ответ на: комментарий от upcFrost

Самое странное, что если после открытия указать текстовый формат ячейки, то excel делает строками сами числа в экспоненциальной форме вида 1E+16, а не возвращает нормальный вид. Видимо придется пользователей дополнительно просить после открытия указать формат ячеек числовой целый формат, только в таком случае норм. отображается

polin11
() автор топика
Последнее исправление: polin11 (всего исправлений: 1)

сохраняй сразу в xlsx любым понравившимся import libXLSX

либо рой в сторону какого нить вендор0лок .csv варианта спецом для экселя где может есть ч>ткий способ в строке заголовке указать какой тип столбца - начни с вики

qulinxao3
()
Ответ на: комментарий от polin11

В этом случае выводятся ненужные двойные\одинарные кавычки

При импорте/открытии в экселе есть опция считать строковым типом строки в кавычках. На память, не помню где именно, но где-то в диалоге.

vvn_black ★★★★★
()