python中怎么判断数字大小_python从txt文件中读取数字,并且判断其大小。

本文介绍如何使用Python从txt文件中读取数字,并判断它们是否在特定范围内。示例代码展示了如何解析文件,提取数字,并进行大小判断。

python从txt文件中读取数字,并且判断其大小。

关注:289  答案:2  mip版

解决时间 2021-01-30 22:59

e6cb1a03ad541b3098697807b7bf1798.png

提问者耍硪ミ倪配么

2021-01-30 13:19

txt文件名假设为a,格式如下:

文件的前面部分有n行,第n+1行开始为数字:

0.00000000E+00 1.99000000E-02 1.05000000E+00 0.00000000E+00 3.88519671E+02

4.20000000E-02 1.99000000E-02 1.00800000E+00 0.00000000E+00 4.23216155E+02

8.40000000E-02 1.99000000E-02 9.66000000E-01 0.00000000E+00 4.67920285E+02

1.26000000E-01 1.99000000E-02 9.24000000E-01 0.00000000E+00 4.89975818E+02

1.68000000E-01 1.99000000E-02 8.82000000E-01 0.00000000E+00 5.01845166E+02

2.10000000E-01 1.99000000E-02 8.40000000E-01 0.00000000E+00 5.10017363E+02

2.52000000E-01 1.99000000E-02 7.98000000E-01 0.00000000E+00 5.15927207E+02

2.94000000E-01 1.99000000E-02 7.56000000E-01 0.00000000E+00 5.18914324E+02

3.36000000E-01 1.99000000E-02 7.14000000E-01 0.00000000E+00 5.18683254E+02

我想对第5行最后一列对应的数字进行判断(即5.01845166E+02),若在500~520范围之外则修改参数重新计算;若在范围之内则输出最后一列的所有数据到另一个文件b。

请问该怎么实现啊。

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家我有我风格

2021-01-30 14:28

#!/usr/bin/python

# encoding: utf-8

import re

context = """

0.00000000E+00      1.99000000E-02      1.05000000E+00      0.00000000E+00      3.88519671E+02

4.20000000E-02      1.99000000E-02      1.00800000E+00      0.00000000E+00      4.23216155E+02

8.40000000E-02      1.99000000E-02      9.66000000E-01      0.00000000E+00      4.67920285E+02

1.26000000E-01      1.99000000E-02      9.24000000E-01      0.00000000E+00      4.89975818E+02

1.68000000E-01      1.99000000E-02      8.82000000E-01      0.00000000E+00      5.01845166E+02

2.10000000E-01      1.99000000E-02      8.40000000E-01      0.00000000E+00      5.10017363E+02

2.52000000E-01      1.99000000E-02      7.98000000E-01      0.00000000E+00      5.15927207E+02

2.94000000E-01      1.99000000E-02      7.56000000E-01      0.00000000E+00      5.18914324E+02

3.36000000E-01      1.99000000E-02      7.14000000E-01      0.00000000E+00      5.18683254E+02

"""

patt = re.compile(r"\d\.\d+E[+-]\d{2}")

array = []

for ln in filter(None, context.splitlines()):

array.append(map(float, patt.findall(ln)))

debug = True

def debugView(obj):

import pprint

if debug:

pprint.pprint(obj)

debugView(array)

你的数据来自文本文件,可以用 for ln in filter(None, open(datafile, 'rt'))

替代 for ln in filter(None, context.splitlines())

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼轉角離身

2021-01-30 15:55

python3.x

result=[]

with open('a.txt','r') as f:

for line in f:

result.append(list(map(float,line.split(','))))

print(result)

python2.7

result=[]

with open('a.txt','r') as f:

for line in f:

result.append(map(float,line.split(',')))

print(result)

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值