【发布时间】:2014-04-09 22:28:14
【问题描述】:
假设我有以下 CSV 文件;
1.41, 123456
1.42, 123456
1.43, 123456
并且我想在这种情况下找到第 0 行中值的“位置”/位置,即“1.41、1.42、1.43”,具体取决于特定行值是否大于或等于任意输入值。
例如,如果输入值为 1.42,我们将返回位置 0 和 1,或者如果输入值为 1.4,我们将返回 0、1 和 2。同样,如果值为 1.45,我们将不返回任何职位。这是我所拥有的:
out = open("test.csv","rU")
dataf=csv.reader(out, delimiter=',')
for row in dataf:
x = row[0]
for i in xrange(len(x)):
if x[i] >=1 :
print i
只为得到,
0
1
2
3
0
1
2
3
0
1
2
3
然后我用
for i in xrange(len(x)):
if x[i] >=2 :
print i
但我仍然得到相同的位置值。谁能引导我朝着正确的方向前进?
【问题讨论】:
-
首先,请确保上面的缩进是发布方面的错误或与您的代码完全相同。其次,您是否尝试(实际上)根据值查找行号?说,
1.43返回3? -
您能解释一下“第 0 行中值的位置”是什么意思吗?或许可以说出上面示例中的预期输出是什么。
-
谢谢,缩进是正确的,但无论哪种方式都可以。是的,如果值等于或大于 1.43,我需要返回位置“2”。 (位置是 2,因为我们从 0 开始,你可能知道)
-
if the value was equal to or greater than 1.43.-- 这是否意味着如果你在上面的 CSV 中搜索1.44,它仍然应该返回第三行?嗯。我可能提前几秒钟发布了答案。 -
嗨,s16h,目的是找到值的位置,例如如果 x[i] == 1.42,我们将返回位置“1”。
标签: python csv position xrange