检查值是否存在,并将它们添加到Python中的数组中

2024-09-27 19:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码(很抱歉格式化):

if row[0] == "":
    empty1 = "true"
    print "row[0] needs a Variable"
else:
    print "row[0] has Variable"

if row[1] == "":
    empty1 = "true"
    print "row[1] needs a Variable"
else:
    print "row[1] has Variable"

if row[2] == "":
    empty1 = "true"
    print "row[2] is Missing Variable"
else:
    print "row[2] has Variable"

if row[3] == "":
    empty2 = "true"
    print "row[3] is Missing Variable"
else:
    print "row[3] has Variable" 

if row[4] == "":
    empty3 = "true"
    print "row[4] is Missing Variable"
else:
    print "row[4] has Variable" 

if row[5] == "":
    empty4 = "true"
    print "row[5] is Missing Variable"
else:
    print "row[5] has Variable" 

if row[6] == "":
    empty5 = "true"
    print "row[6] is Missing Variable"
else:
    print "row[6] has Variable" 

if row[7] == "":
    empty6 = "true"
    print "row[7] is Missing Variable"
else:
    print "row[7] has Variable" 

if row[8] == "":
    empty7 = "true"
    print "row[8] is Missing Variable"
else:
    print "row[8] has Variable" 

if row[9] == "":
    empty8 = "true"
    print "row[9] is Missing Variable"
else:
    print "row[9] has Variable" 

if row[10] == "":
    empty9 = "true"
    print "row[10] is Missing Variable"
else:
    print "row[10] has Variable"    

if row[11] == "":
    empty10 = "true"
    print "row[11] is Missing Variable"
else:
    print "row[11] has Variable"    

if row[12] == "":
    empty10 = "true"
    print "row[12] needs a Variable"
else:
    print "row[12] has Variable"    


myList = (row[0], row[1], row[2], row[3], row[12], row[12], row[0], row[12], row[12], row[12], row[0])

print(chunk % (myList))

我要做的是遍历.csv文件中的每一行,看看它是否有值。然后,如果它确实有一个值,我想将该行添加到底部的数组中,这样它将只打印填充的行。我该怎么做?任何帮助都将不胜感激。你知道吗


Tags: 代码trueifisvariableelserowhas
1条回答
网友
1楼 · 发布于 2024-09-27 19:33:01

迭代数组中的每一行会更容易,如下所示:

myList = []

for i, val in enumerate(row):  #[1]
    if val:                    #[2]
        myList.append(val)
        print 'row[%d] has a value' % i #[3]
    else:
        print 'row[%d] does not have a value' % i #[4]

print myList

让我们把代码分解一下,这样你就可以了解发生了什么。你知道吗

循环
在for循环中,在引用处#[1]-^{}将为您提供列表的元素(在本例中,我们称之为val),以及索引(在本例中,我们将其分配给变量i)。你知道吗

您也可以只执行for val in row:,但我在这里使用了enumerate,所以您可以像在原始代码中那样打印每一行的索引。你知道吗

if语句 引用#[2]处的if语句只使用if val:。这将检查变量val是否具有非null且不为空的值。编写if row[X] != ""是一种更简洁的方法,虽然它们在逻辑上是相同的。你知道吗

打印和字符串格式化 ref#[3] and #[4]中的print语句允许打印,而不必硬编码行。%d在字符串中用作数字的占位符,然后在字符串和%运算符之后定义。在本例中,我们将变量i放在那里(这是正在访问的row的当前索引)。你知道吗

继续我的print语句,我写的和有一样:
print 'row[' + i + '] has a value'
只是稍微干净一点。你知道吗

还有一种新的建议方法,python^{}。在这种情况下,您需要:
print 'row[{}] has a value"'.format(i)

希望这会有所帮助,如果我太过火了,我会很抱歉,我假设你是刚开始Python硬编码字符串的,而且有那么多if的。如果有什么不清楚的地方,尽管问

相关问题 更多 >

    热门问题