天天看點

python讀取表格資料_在Python中使用xlrd讀取數字Excel資料作為文本

我正在使用xlrd讀取Excel檔案,我想知道是否有辦法忽略Excel檔案中使用的單元格格式,并将所有資料導入文本?

以下是我正在使用的代碼:

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

這段代碼是有效的,但是有一些字段,如郵政編碼,作為數字導入,是以它們具有十進制零字尾.例如,Excel檔案中是否有郵政編碼’79854′,将導入為’79854.0′.

我已經嘗試在這個xlrd spec找到一個解決方案,但沒有成功.