Как отключить автоматическое распознавание Excel чисел и текста

Я использовал Python для генерации файла CSV. Но когда я открываю его в Excel, Excel будет автоматический распознавать строку в число, если это могло бы быть преобразовано.

например.33E105 становится 33*10^105, который является на самом деле идентификатором, не числом.

Как отключить это в Excel при открытии файла CSV? Или я должен обратиться к библиотеке Python Excel, чтобы произвести файл Excel и указать формат сам?

Я также нашел подобный вопрос без хороших ответов в сети.

Спасибо!

9
задан Yin Zhu 23 March 2010 в 01:41
поделиться

5 ответов

Для записи настоящих .xls файлов на Python, а не .csv, которые Excel может неправильно интерпретировать, вы можете использовать xlwt сторонний пакет Python.

1
ответ дан 4 December 2019 в 21:09
поделиться

Вы можете поставить перед ним одинарную кавычку, чтобы преобразовать в текст.

Забавный ответ: вы можете оставить первые восемь строк пустыми (он обрабатывает только первые восемь строк для определения типа данных), хотя я думаю, что это может полностью очистить все ваши данные. Вы можете скрыть эти пустые строки.

4
ответ дан 4 December 2019 в 21:09
поделиться

Если вы не хотите менять способ записи CSV-файла, вы можете использовать мастер импорта текста в Excel, чтобы указать, как вы хотите обрабатывать отдельные столбцы. В мастере есть один шаг, позволяющий выбрать тип данных в каждом столбце. Установите для столбцов, которые вы хотите, текст, и он будет рассматривать его как строку.

0
ответ дан 4 December 2019 в 21:09
поделиться

Думаю, вы можете поставить один ' перед ним, чтобы числовые строки не превращались в инты

Например

...,"'33E105",...

OpenXML - более гибкий (и сложный) вариант, но работает только с Office2003 или новее и является излишеством для этой проблемы. Больше подходит для случаев, когда вам нужно выделить ячейки/много листов и т.д.

2
ответ дан 4 December 2019 в 21:09
поделиться

У вас есть 3 варианта:

  • Вывести файл XML в специальном формате, который может прочитать Excel. Подробностей не припомню, но если интересно, могу их откопать. Мы сделали это с помощью нашего кода Perl. Я не знаю, делает ли excel-python именно это.

  • Поместите ' (апостроф) перед каждой строкой.

  • Используйте библиотеку, которая выводит собственный файл Excel с правильным форматированием. Понятия не имею, существует ли такое для Python, но это своего рода излишний вариант первого варианта в любом случае.

3
ответ дан 4 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: