我正在使用 xlrd 读取 excel 文件并将数据写入文件。现在我面临的问题是,在文件中,我从 excel 中获取整数数据作为浮点数,而在我有类似 000123 的地方,它被截断为 123。
我想从单元格中读取值并以相同的格式将其写入文件中。有没有办法我可以在任何地方将excel单元格作为文本读取?
请提出正确的方法来做到这一点。
我正在使用 xlrd 读取 excel 文件并将数据写入文件。现在我面临的问题是,在文件中,我从 excel 中获取整数数据作为浮点数,而在我有类似 000123 的地方,它被截断为 123。
我想从单元格中读取值并以相同的格式将其写入文件中。有没有办法我可以在任何地方将excel单元格作为文本读取?
请提出正确的方法来做到这一点。
您可以检查cell.ctype
它是否是XL_CELL_TEXT
或XL_CELL_NUMBER
其他。
XL_CELL_EMPTY, XL_CELL_DATE, XL_CELL_BOOLEAN, XL_CELL_ERROR, XL_CELL_BLANK
(其他可能的细胞类型:)
如果您的单元格是类型,XL_CELL_TEXT
那么您应该能够获得“000123”的值。
如果您的单元格是类型,XL_CELL_NUMBER
那么您cell.value
可能是“123”。可以在 Excel 工作表中看到的“00123”值可能是 Excel 工作表中设置的格式设置的结果。我想这个格式信息也应该可以从工作表中提取出来。提取格式信息后,您应该能够通过结合格式信息和原始数字值“123”来重现值“000123”。
但是,我不确定 xlrd 模块是否可以提取您需要的所有格式信息。
查阅文档:https ://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html
或者源码来源:https ://github.com/python-excel/xlrd/blob/master/xlrd