Python xlrd将整数和string转换为浮点数

我试着成功地将excel文件转换成csv,但它将所有的数字(尽pipe它们是整数或excel文件中的文本)转换为浮点数。

我知道python读取默认数字为浮动。

有没有机会把我的所有数字转换成string?

我的代码是波纹pipe

def Excel2CSV(ExcelFile, SheetName, CSVFile): import xlrd import csv workbook = xlrd.open_workbook(ExcelFile) worksheet = workbook.sheet_by_name(SheetName) csvfile = open(CSVFile, 'wb') wr = csv.writer(csvfile, delimiter=';', quoting=csv.QUOTE_NONNUMERIC) for rownum in xrange(worksheet.nrows): wr.writerow( list(x.encode('utf-8') if type(x) == type(u'') else x for x in worksheet.row_values(rownum))) csvfile.close() 

感谢您的时间

我的解决方法是先处理Excel文件逐个单元格通过一个新的嵌套列表,然后将该嵌套列表写入一个CSV文件。

通过访问单独的单元格值,我可以将它们转换为string数据types,将CSV单元格的内部原样保留(当然,删除string引号)。

以下是我如何访问单个单元格值:

 for rownum in xrange(worksheet.nrows): for col_num in xrange ( worksheet.ncols ) : value = str ( worksheet.row (rownum ) [ column_num ].value ) 

我将这些处理的单元格值附加到单个行,并将该单行附加到作为原始inputexcel文件的副本的嵌套列表中。