我必须阅读一个逗号分隔的文本文件,如下所示:
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] 删除。
我来说两句