如何读取文本文件,仅打印某一列中的值高于阈值的特定行?

Tjodlav_5

我必须阅读一个逗号分隔的文本文件,如下所示:

ID, x, y, soil_temp
1, 10, 6, 8
2, 21, 11, 12
3, 11, 7, 7
4, 32, 12, 8
5, 9, 29, 6
6, 17, 16, 9
7, 22, 9, 11
8, 14, 31, 7
9, 26, 21, 6
10, 19, 19, 10

然后,我必须打印ID和Soil_temp列以及所有土壤温度高于10的行。因此结果应如下所示:

ID, soil_temp
2, 12
7, 11

重要!无需使用任何模块(例如pandas和cv),这会使我感到沮丧。对于大多数人来说,这可能很容易。

因此,我编写了一个看起来像这样的代码,可以使用以下命令打印该列soil_temp

tempLine = []
with open('soil_temp.txt', 'r') as f:
    read_data = f.readlines()

for line in read_data:
    line.split()
    tempLine.append(line.split())

for item in tempLine:
    print(item[3])

该代码也基于练习中给出的建议。我的问题是,如果我只想打印10行以上的行,我会认为if在代码的最后一部分中有一条简单的语句,这样的话很有意义:

for item in tempLine:
    if item[3] > 10
        print(item[3])

但是,这当然不起作用,因为数据存储为字符串。我尝试了不同的解决方案以将它们更改为整数,但是由于它是多个字符串,所以找不到解决方案。

山姆威斯

我可能会这样:

with open('soil_temp.txt', 'r') as f:
    read_data = f.readlines()[1:]

id_and_temp = [(i, t)
    for i, _, _, t in (line.strip().split(", ") for line in read_data)
    if int(t) > 10
]

print("ID, soil_temp")
for i, t in id_and_temp:
    print(f"{i}, {t}")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅针对某一列的公共值合并两个文本文件

如何仅打印文本文件中的重复值?

如何使用扫描仪从java中的文本文件中读取一列?

如何从PHP中的文本文件读取特定行

如何只读取文本文件中的特定行?

如何从文本文件中读取一行并打印

如何根据其中一列中的值在文本文件中绘制数据

逐行读取文本文件,但仅读取特定列

如何读取和替换文本文件一栏中的特定值?

如何从文本文件的一列获取值以获取另一列的值

从文本文件读取一列

如何在python中读取特定行并将数据打印到文本文件或控制台窗口?

当另一列值高于 R 中的阈值时替换列的特定部分

仅读取文本文件中的特定行,并将匹配项保存到变量中

逐行读取文本文件并使用一行中的特定值计算特定单词

如何從文本文件打印特定的行/行?

仅使用标准库,按另一列的分组值中的一列的累积总数对文本文件进行排序?

是否可以从文本文件中的特定列(最后一列)中删除减号?

从文本文件中读取特定列的数据并写入另一个文本文件tcl

如何在Java中读取文本文件的第一行并将其打印出来?

从文本文件中读取特定值

如何基于一列加入文本文件并删除linux中的第一行?

使用perl从文本文件中打印特定行

从一列等于最大值的文本文件中提取行

如何仅显示文本文件数组中的“读取主机”值?

如何获取文本文件的一列

从Java中的文本文件读取特定行

从Java中的文本文件读取特定行

从文本文件中的特定行读取数字