Python excel文件中的整数变为浮点数?
我使用Python excel文件中的整数变为浮点数?,python,xlrd,Python,Xlrd,我使用xlrd从excel文件中读取数据 对于存储在文件中的整数,比如说63,xlrd将其解释为63.0,类型为number 为什么xlrd不能将63识别为整数 假设sheet.row(1)[0]。value为我们提供63.0。如何将其转换回63查看中的不同单元格类型,似乎没有任何整数类型的单元格,它们只是浮点数。因此,这就是为什么即使在编写整数时也会返回浮点值 要将浮点转换为整数,只需使用int: >>> int(63.0) 63 >>> int(sheet
xlrd
从excel文件中读取数据
对于存储在文件中的整数,比如说63
,xlrd
将其解释为63.0
,类型为number
为什么xlrd
不能将63
识别为整数
假设
sheet.row(1)[0]。value
为我们提供63.0
。如何将其转换回63
查看中的不同单元格类型,似乎没有任何整数类型的单元格,它们只是浮点数。因此,这就是为什么即使在编写整数时也会返回浮点值
要将浮点转换为整数,只需使用int
:
>>> int(63.0)
63
>>> int(sheet.row(1)[0].value)
63
查看中的不同单元格类型,似乎没有任何整数类型的单元格,它们只是浮点数。因此,这就是为什么即使在编写整数时也会返回浮点值 要将浮点转换为整数,只需使用
int
:
>>> int(63.0)
63
>>> int(sheet.row(1)[0].value)
63
我从
xlrd
文档中想起了这个宝石:
Excel电子表格中的日期
事实上,没有这样的事情。你有的是浮点
数字和虔诚的希望
整数也是如此。也许没有虔诚的希望。我从
xlrd
文档中想起了这颗宝石:
Excel电子表格中的日期
事实上,没有这样的事情。你有的是浮点
数字和虔诚的希望
整数也是如此。也许减去虔诚的希望。如果excel表格中的所有条目都是整数,那么jcollado给出的答案是正确的。 但是假设你有一个浮点数,你可以设置一个检查条件,比如-
if i==int(i): //checking for the integer:
print int(i) // solving your problem and printing the integer
else:
print i //printing the float if present
希望您觉得这很有用:)如果您在excel工作表中的所有条目都是整数,那么jcollado给出的答案是正确的。 但是假设你有一个浮点数,你可以设置一个检查条件,比如-
if i==int(i): //checking for the integer:
print int(i) // solving your problem and printing the integer
else:
print i //printing the float if present
希望您觉得这很有用:)Excel将所有数字都视为浮点数。一般来说,它并不关心您的\u编号%1==0.0是否为真 示例:
A1=63.0,B1=63,C1=INT(A1),A2=TYPE(A1),B2=TYPE(B1),C2=TYPE(C1)
您将看到TYPE()
在每种情况下都返回1
从Excel帮助中:
If value is TYPE returns
Number 1
Text 2
Logical value 4
Error value 16
Array 64
xlrd
报告找到的内容xlrd
在向您公开它之前不会损坏它的输入。将列从(62.9、63.0、63.1等)
转换为(62.9、63、63.1等)
对我来说似乎是毫无意义的CPU时间浪费 Excel将所有数字视为浮点数。一般来说,它并不关心您的\u编号%1==0.0是否为真
示例:A1=63.0,B1=63,C1=INT(A1),A2=TYPE(A1),B2=TYPE(B1),C2=TYPE(C1)
您将看到TYPE()
在每种情况下都返回1
从Excel帮助中:
If value is TYPE returns
Number 1
Text 2
Logical value 4
Error value 16
Array 64
xlrd
报告找到的内容xlrd
在向您公开它之前不会损坏它的输入。将列从(62.9、63.0、63.1等)
转换为(62.9、63、63.1等)
对我来说似乎是毫无意义的CPU时间浪费 我编写了一段代码,试图将Excel显示的数字转换为字符串。这种方法至少适用于整数和逗号后有两位数的数字。它也适用于许多其他格式
想法、屏幕截图和代码如下:我编写了一段代码,试图将Excel显示的数字转换为字符串。这种方法至少适用于整数和逗号后有两位数的数字。它也适用于许多其他格式 想法、屏幕截图和代码如下:从1.0.0开始尝试 下面是一个:该方法尝试将列转换为返回的
DataFrame
中的其他(目前是实验性的)dtypes
。这些d类型
包括,并且还处理缺少的值。有关转换为string
列的动机,请参阅;有关boolean
列的优点,请参见
下面是一个:该方法尝试将列转换为返回的
DataFrame
中的其他(目前是实验性的)dtypes
。这些d类型
包括,并且还处理缺少的值。有关转换为string
列的动机以及boolean
列的优点,请参阅。它只是int(您的浮点),不是吗。我不会发布答案-我觉得我可能是在侮辱你,可能错过了一些东西。@stackuser10210我想知道为什么电子表格中的整数63会变成63.0。不知道。我不熟悉xlrd,也从未做过类似的工作。如果它们在excel中真的是整数(即A1=63.0,B1=Int(A1),而你从B1中得到的是63.0,那么我可以理解这个问题。对不起,我没有答案。excel中没有整数。只是拖动中的浮点数。因为至少有一个(注意大写I)也可以处理缺少的值。它就是Int(你的浮点),不是吗?。我不会发布答案-我觉得我可能是在侮辱你,可能错过了一些东西。@stackuser10210我想知道为什么电子表格中的整数63变成了63.0。不知道。我不熟悉xlrd,也从来没有做过类似的事情。如果它们在excel中真的是整数(即A1=63.0,B1=Int(A1),你从B1得到了63.0,那么我就可以理解这个问题了。对不起,我没有答案。Excel中没有整数。拖动中只有浮点数。因为至少有一个(注意大写字母I)它还可以处理缺少的值。+1.它不会比直接从xlrd
的作者那里听到更好。+1.它不会比直接从xlrd
的作者那里听到更好。Woolly terminolog