Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Создать текстовый столбец в csv файле


Автор: polin11 4.2.2023, 14:31
Нужно в создать 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, чтобы при открытии документа не приводил текст к числам?

Автор: Oldshelf 4.2.2023, 17:52
Цитата(polin11 @  4.2.2023,  14:31 Найти цитируемый пост)
...можно ли настроить excel, чтобы при открытии документа не приводил текст к числам? 

Текст не приводится к числам, скорее сокращается для экономии места. Если кликнуть на поле, то чуть выше в "строке формул" можно увидеть правильную полную запись. Чтобы такая запись отобразилась и в ячейках, выделите их (Ctrl+A), ПКМ (контекстное меню), "Формат ячеек", "Числовые форматы: Числовой", "OK".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)