Python TypeError: sequence item 4: expected str instance, float found

问题:

Python xlrd模块读取xls文件,提示 TypeError: sequence item 4: expected str instance, float found

 

原因:

正常表格里内容读取后,存放到Python列表(list)里,要么是整数,要么是字符串。

而错误提示最后显示“ float found”,float是带小数点的,肯定不行;

而错误提示 4 是发现问题所在的 行 或 列 的位置(因为每个人写遍历方式不一样,有人先遍历行,有人先遍历列)

 

解决方法:

1.读表格的value值,判断内容是什么类型,然后转换成 intstr

1
2
3
4
## 内容是float 转 int
float_to_int = sheet.cell(行,列).value
if isinstance(float_to_int, float):
    float_to_int = '%d'%sheet.cell(行,列).value

  因为是端口所以转int,可根据实际情况选择 int 或 str。

 

 

       转str类型用str()函数即可,

1
str(sheet.cell(行,列).value)

 

    另,还可以用map函数

1
float_to_int = map(str, sheet.cell(行,列).value)

  str是指明需要的类型, sheet.cell(行,列).value是要转换的值

 

2.在xls文件对应表格中字符前加个单引号 ‘,但是不推荐这样,这只是应急灯方法。

写程序还是用上面 1 的方法。

 

 

 

 

 

参考:

https://blog.csdn.net/lly1122334/article/details/108770141 

https://blog.csdn.net/a1007720052/article/details/106212829/

posted @   悟透  阅读(1061)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示