Как отключить автоматическое распознавание чисел и текста в Excel - PullRequest
9 голосов
/ 23 марта 2010

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

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

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

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

Спасибо!

Ответы [ 5 ]

4 голосов
/ 23 марта 2010

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

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

3 голосов
/ 23 марта 2010

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

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

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

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

2 голосов
/ 23 марта 2010

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

Например.

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

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

1 голос
/ 23 марта 2010

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

0 голосов
/ 23 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...