Lendo dados numéricos do Excel como texto usando xlrd em Python
Estou tentando ler um arquivo do Excel usando xlrd, e estou me perguntando se existe uma maneira de ignorar a formatação da célula usada no arquivo do Excel e apenas importar todos os dados como texto?
Aqui está o código que estou usando para longe:
import xlrd
xls_file = 'xltest.xls'
xls_workbook = xlrd.open_workbook(xls_file)
xls_sheet = xls_workbook.sheet_by_index(0)
raw_data = [['']*xls_sheet.ncols for _ in range(xls_sheet.nrows)]
raw_str = ''
feild_delim = ','
text_delim = '"'
for rnum in range(xls_sheet.nrows):
for cnum in range(xls_sheet.ncols):
raw_data[rnum][cnum] = str(xls_sheet.cell(rnum,cnum).value)
for rnum in range(len(raw_data)):
for cnum in range(len(raw_data[rnum])):
if (cnum == len(raw_data[rnum]) - 1):
feild_delim = '\n'
else:
feild_delim = ','
raw_str += text_delim + raw_data[rnum][cnum] + text_delim + feild_delim
final_csv = open('FINAL.csv', 'w')
final_csv.write(raw_str)
final_csv.close()
Esse código é funcional, mas existem certos campos, como um CEP, que são importados como números, portanto, eles possuem o sufixo zero decimal. Por exemplo, se houver um CEP de '79854' no arquivo do Excel, ele será importado como '79854.0'.
Eu tentei encontrar uma solução nestexlrd spec, mas não teve êxito.