我有一个包含1984
的Excel电子表格,xlrd将其作为number
类型进行处理,从而以float 1984.0
的形式返回给我的值。我希望获得电子表格中显示的原始值,如字符串"1984"
。我怎么得到这个?
答案 0 :(得分:2)
因此在Excel内部,1984年存储为十进制数,因此1984.0是正确的。您可以更改数字格式以将其显示为1984.00或其他任何内容。
那么你是否在询问如何查询单元格格式以告诉数字格式是否为小数?如果是这样,您可能会考虑使用open_workbook
的formatting_info = True参数sheet = open_workbook( 'types.xls',formatting_info =真 ).sheet_by_index(0)
您是否遇到过来自http://www.python-excel.org/的python-excel.pdf文档? 学习使用xlrd和xlwt是一个非常好的教程。不幸的是,他们说:
我们已经看到open_workbook有一个参数可以从Excel文件加载格式信息。完成后,所有格式信息都可用,但是如何显示它的详细信息超出了本教程的范围。
答案 1 :(得分:1)
如果cell.ctype == xlrd.XL_CELL_NUMBER
然后excel将1984存储为浮点数,你需要转换为python中的字符串
在excel中
=“1984”将是一个字符串 '1984将是一个字符串,注意'不显示 1984年是#
答案 2 :(得分:0)
唯一的数字是浮点数。附加到单元格的格式确定它是表示日期,小数还是整数。查找格式字符串,希望它能让您辨别该数字的显示方式。
答案 3 :(得分:-1)
使用字符串格式:
"%d" % mynumber
>>> "%d" % 1984.0
'1984'