我正在尝试使用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规范但没有成功。