我正在检查电子表格中某列中的特定模式。我有一个公式来检查模式,该模式将为“已标记”或“正常”,然后再另一个公式来检查是否存在一个Flag。 我正在使用2个公式,因为电子表格将使用Python进行提取和编辑,这似乎是目前最简单的方法。我也在研究可以使用Python来更有效地完成此操作的方法。
我试图匹配A,B或C列中五个0的模式。检查哪个列都没有关系。
X
在D列中,我有以下公式可以找到模式:
A B C D E
379 400 51 fine Flagged
404 460 18 fine
379 365 65 fine
0 0 0 fine
0 0 0 Flag
0 0 0 fine
0 0 0 fine
0 0 0 fine
399 480 94 fine
390 420 55 fine
399 435 121 fine
然后使用此公式检查D中是否有任何标记:
=IF((AND(A5=0, A6=0, A7=0, A8=0, A9=0 )), "Flag", "Fine")
所以Python只能检查1个单元格(我的python技能还在开发中)
如果我可以将一个公式粘贴到一个单元格中,以给出电子表格的Flag或Fine结果,那将是完美的。 谢谢
编辑/答案4.9.19 最后,我找不到在单个单元格中使用的公式。解决方法是使用python遍历单元格,并根据需要粘贴公式:
=IFERROR(IF(MATCH("Flag",W:W,0), "Flagged"), "Fine")
答案 0 :(得分:0)
阅读熊猫电子表格。如果要解析很多行,最好使用read_csv
而不是read_excel
,因为csv文件会小于xlxs。
df = pd.read_csv('your_filename.csv', header = 0)
然后使用np.where()
方法将所需的标签放置在D列中。
df['D'] = np.where((df['A'] == 0) & (df['B'] == 0) & (df['C'] == 0), ['Flag'], ['Fine'])
要获取列F
,您必须引用列D
,对吗?为此,请使用loc
:
df.loc[df['D'] == 'Flag', 'F'] = 'Flagged'
如果您的列'Flagged'
的值等于F
,我不确定在D
上标记'Fine'
的值是哪个?在上面的示例中,您将列F
的列'Flagged'
的值为D
标记为'Fine'
。在这种情况下,只需将上述条件中的值更改为所需的值即可。