openpyxl por favor não assuma texto como um número ao importar

Existem várias perguntas sobre como impedir que o Excel interprete o texto como um número ou como gerar formatos numéricos com o openpyxl, mas ainda não vi nenhuma solução para esse problema:

Eu tenho uma planilha do Excel que me foi dada por outra pessoa, então eu não a criei. Quando eu abro o arquivo com o Excel, eu tenho certos valores como "5E12" (clone números, se alguém se importa) que aparecem para exibir corretamente, mas há uma pequena seta verde ao lado de cada um me avisando que "Este parece ser um número armazenado como texto ". Excel, em seguida, me pergunta se eu gostaria de convertê-lo em um número, e se eu vi sim, eu recebo 5000000000000, que então converte automaticamente para notação científica e exibe 5E12 novamente, só que desta vez uma saída de texto mostraria o número inteiro com zeros . Note que antes da conversão, isso é realmente texto, mesmo para o Excel, e só estou sendo avisado / oferecido para convertê-lo.

Então, ao ler este arquivo com o openpyxl (de openpyxl.reader.excel import load_workbook), o 5E12 está sendo convertido automaticamente para 5000000000000. Suponho que o openpyxl esteja fazendo a mesma suposição que o Excel fez, somente a conversão acontece sem um prompt ou entrada da minha parte.

Como posso evitar que isso aconteça? Eu não quero texto que se parece com "números armazenados como texto" para converter em números. Eles são texto a menos que eu diga isso.

Até agora, a única solução que encontrei é adicionar aspas simples à frente de cada célula, mas esta não é uma solução ideal, pois é o trabalho manual e não uma solução programática. Além disso, a solução precisa ser geral, já que nem sempre sei onde esse problema pode ocorrer (estou lendo milhões de linhas por dia, então não quero fazer nada manualmente).

I pensar isso é um problema com o openpyxl. Há uma discussão em grupo do Google a partir do início de 2011 que menciona esse problema, mas assume que é muito raro importar.https://groups.google.com/forum/?fromgroups=#!topic/openpyxl-users/HZfpShMp8Tk

Então, alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion