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