Lesen numerischer Excel-Daten als Text mit xlrd in Python

Ich versuche, eine Excel-Datei mit xlrd einzulesen, und frage mich, ob es eine Möglichkeit gibt, die in der Excel-Datei verwendete Zellenformatierung zu ignorieren und alle Daten einfach als Text zu importieren.

Hier ist der Code, den ich bisher benutze:

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()

Dieser Code ist funktionsfähig, es gibt jedoch bestimmte Felder, z. B. eine Postleitzahl, die als Zahlen importiert werden, sodass sie das Dezimalnull-Suffix haben. Befindet sich beispielsweise die Postleitzahl '79854' in der Excel-Datei, wird sie als '79854.0' importiert.

Ich habe versucht, eine Lösung in diesem @ zu findxlrd spec, war aber erfolglos.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage