为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字符串中去除字母并比较值?

如何从字符串中去除字母并比较值?

长风秋雁 2021-03-29 15:09:22
我刚刚为正在从事的这个项目学习了Python,但是在比较两个值时遇到了麻烦-我正在使用Python xlwt和xlrd库并从文档中提取单元格的值。问题是某些值的格式为'NP_000000000','IPI00000000.0'和'000000000',因此我需要检查值的格式,然后在比较它们之前除去字符和小数点(如有必要) 。我尝试使用S1[:3]来获取不带字母字符的值,但出现“浮点不可下标”错误然后我尝试这样做,re.sub(r'[^\d.]+, '', S1)但出现了Typerror:预期为字符串或缓冲区我认为由于通过返回的单元格的值sheet.cell( x, y).value将是一个字符串,因为它是字母数字,但似乎必须以浮点数形式返回格式化这些值然后进行比较的最佳方法是什么?
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

听起来您正在使用的API会根据单元格的内容返回不同的类型。您有两个选择。

  1. 您可以将所有内容转换为字符串,然后执行当前操作:

    s = str(S1)...

  2. 您可以检查输入的类型并采取适当的措施:

    如果isinstance(S1,basestring):#这是一个字符串,去掉前缀elif isinstance(S1,float):#这是一个浮点,只需使用它


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 265 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号