【发布时间】:2019-05-21 18:12:23
【问题描述】:
我正在使用 xlrd 处理 Excel 中的一些数据。
我在一列中有三个相同的数字数据“123”。
第一个单元格格式为Text,第二个单元格格式为General,最后一个与第一个相同。
我编辑了最后一个单元格,只是双击并没有改变任何东西。所以我在最后一个单元格中得到了错误检查提示(绿色小三角形):'此单元格中的数字格式为文本或前面有撇号。
我保存我的 excel 文件并运行我的代码:
excel = xlrd.open_workbook(MyExcelName)
for sheet in excel.sheets():
for i in range(sheet.nrows):
for jin range(len(sheet.row_values(i))):
value=str(sheet.row_values(i)[j])
print(value)
...
我明白了:
123.0
123.0
123
表示xlrd读取文本格式的数字为浮点数。
但令我困惑的是第三个单元格没有被读取为浮点数。
这是怎么发生的?我的意思是,它全部格式化为文本,xlrd 会检查错误提示吗?为什么不检查单元格格式,将文本读取为字符串?
【问题讨论】: