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值,判断内容是什么类型,然后转换成 int 或 str
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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!