加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用浮点数和整数解析python字符串

发布时间:2020-12-20 11:25:56 所属栏目:Python 来源:网络整理
导读:我有数百个字符串都具有相同的格式 – 2个整数后跟三个浮点数.一个例子: 1 10 1.2345 5.4321 10.5647 我只想逐一取出这些字符串并将它们解析为各自的整数和浮点数.我可以想到一些方法来做到这一点,但我希望python会有一些优雅的东西,它是用于写作的str.form
我有数百个字符串都具有相同的格式 – 2个整数后跟三个浮点数.一个例子:

1 10 1.2345 5.4321 10.5647

我只想逐一取出这些字符串并将它们解析为各自的整数和浮点数.我可以想到一些方法来做到这一点,但我希望python会有一些优雅的东西,它是用于写作的str.format的反转.这似乎是非常基本的功能,所以如果我问的是已经回答的问题,我很抱歉,但我无法在任何地方找到解决方案.有什么想法吗?谢谢.

解决方法

我觉得你最好用numpy的genfromtxt或loadtxt:

import numpy as np
import StringIO

s = """1 10 1.2345 5.4321 10.5647
       2 14 434.35 345.34 1000000
       3 8  253.235 2.53 .002345"""
f = StringIO.StringIO(s)

data = np.genfromtxt(f,names = 'id,count,x,y,z',dtype=[int,int,float,float])

这为您提供了这些内容的数组,因此可以访问第一行

data[0]
#(1,10,1.2345,5.4321,10.5647)

或者所有第二列:

data['count']
#array([10,14,8])

顺便说一下,这会将float列中的一个整数转换为float,以防你的一个浮点数恰好是一个整数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读