首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python按行过滤文件

使用python按行过滤文件
EN

Stack Overflow用户
提问于 2018-11-26 03:26:56
回答 1查看 269关注 0票数 0

我有一个包含多个列的文件:

代码语言:javascript
复制
1.000       2.0072      1.000       3.5368      1.000       3.7748
2.000       2.0890      2.000       3.5867      2.000       3.7302
3.000       2.0784      3.000       3.3057      3.000       3.6899

我需要以这样一种方式对其进行过滤,即只为每列选择满足特定条件的行,例如,只选择符合以下条件的行:

代码语言:javascript
复制
C1 < 1
C2 > 2
C3 == 3

总共有5列,我只需要过滤满足示例中三个条件的行。我已经提出了类似的东西,但我过滤了当时的所有数据:

代码语言:javascript
复制
k = open ("test.txt", "r")

lines = k.readlines ()
     for line in lines:
        conv_int = int (lines):
         if lines> 1:
             print (conv_int)
EN

回答 1

Stack Overflow用户

发布于 2018-11-26 03:52:59

让我们直截了当地说:

  • ,我没有看到一个解释,你的例子中的任何一行都可以通过这三个过滤器。
  • 尝试将行转换为int不会按照您编写的方式工作,而且由于四舍五入效应,无论如何也不一定是一个好主意。

但是,通过添加一些猜测工作,您可以根据您的需求折衷以下内容,希望获得原则并修复更一般的情况:

代码语言:javascript
复制
k = open ("test.txt", "r")
lines = k.readlines()
for line in lines:
    nums_list = [float(x) for x in line.strip().split(' ') if x != '']
    if nums_list[0] < 1 and nums_list[1] > 2 and nums_list[2] == 3:
        print(line)

同样,这不会在您的示例中输出任何内容,但其思想应该是清晰的。如果没有,请在评论中提问,如果需要,我会澄清。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53471056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档