吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2365|回复: 2
收起左侧

[Python 转载] 【记录贴】从Excel获取数据驱动时object of type 'float' has no len()错误处理

[复制链接]
Test_dada 发表于 2020-11-19 15:11
前言:
         做自动化时,需要在Excel获取账号密码登录;但是账号获取成功,密码获取失败
出现object of type 'float' has no len()错误(重点:密码为纯数字


出错部分代码:
[Python] 纯文本查看 复制代码
name_value = DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 0)
pwd_value = DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 1)
jurl = DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 2)


其中:pwd_value参数获取会报错

解决代码:
[Asm] 纯文本查看 复制代码
name_value = DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 0)
pwd_value = int(DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 1))
url = DoExcel.ReadExcel('TestData.xlsx', 'Sheet1').getExcelValue(7, 2)


后言:
从excel读取的数字会默认为flost(浮点型),需要转换为整形int
例如Excel保存密码是123456,读取出来却为:123456.0(浮点型)
所以在读取出来后,定义好数据类型就可以解决此问题了。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Loker 发表于 2020-11-19 16:52
密码不应该是字符串型的吗?密码长度再长一点你的int也会报错吧。。。
 楼主| Test_dada 发表于 2020-11-19 18:02
Loker 发表于 2020-11-19 16:52
密码不应该是字符串型的吗?密码长度再长一点你的int也会报错吧。。。

Excel里修改单元格格式保存,有时保存不成功(常规、数值、文本,这三种格式进行切换保存);使用sheetName.cell(rownum, colnum).ctype    获取单元格数据类型,Excel切换一个格式就执行一次,最后发现当格式是常规或数值时你可以看到运行后类型是2,当切换文本时 结果还是2,关闭Excel会提示你保存,这时保存了再执行类型才会是1。
注:ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表