openpyxl, пожалуйста, не принимайте текст как число при импорте

Существует множество вопросов о том, как запретить Excel интерпретировать текст как число или как выводить числовые форматы с помощью openpyxl, но я не видел решений этой проблемы:

У меня есть таблица Excel, предоставленная мне кем-то другим, поэтому я ее не создавал. Когда я открываю файл в Excel, у меня появляются определенные значения, такие как «5E12» (номера клонов, если кому-то все равно), которые отображаются правильно, но рядом с каждой есть небольшая зеленая стрелка, предупреждающая меня, что «Это число хранится в виде текста ". Затем Excel спрашивает меня, хочу ли я преобразовать его в число, и если я вижу да, я получаю 5000000000000, который затем автоматически преобразуется в научную запись и снова отображает 5E12, только на этот раз в текстовом выводе будет показано полное число с нулями. , Обратите внимание, что перед преобразованием это действительно текст, даже в Excel, и меня только предупреждают / предлагают преобразовать его.

Итак, при чтении этого файла с помощью openpyxl (из openpyxl.reader.excel import load_workbook) 5E12 автоматически конвертируется в 5000000000000. Я предполагаю, что openpyxl делает то же самое предположение, что и Excel, только преобразование происходит без запроса или вход с моей стороны.

Как я могу предотвратить это? Я не хочу, чтобы текст, похожий на «числа, хранящиеся в виде текста», преобразовывался в числа. Они текстовые, если я не скажу так.

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

I думать это проблема с openpyxl. В начале 2011 года в группе Google обсуждается эта проблема, но предполагается, что это слишком редко.https://groups.google.com/forum/?fromgroups=#!topic/openpyxl-users/HZfpShMp8Tk

Итак, есть предложения?

Ответы на вопрос(1)

Ваш ответ на вопрос