Python:在目录中.csv文件的第一列中搜索一组单词

2024-04-24 09:05:43 发布

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

我试图搜索目录中任何.csv文件的第一列是否具有以下值:TPW或KPM1或KPM2

如果是这样的话,我想把这个文件名写进文件“Outfile_文件.txt". 在

我仍然不能正确地搜索,请指点我。在

import os
import string

outfile = open("Outfile_Files.txt","w")

for filename in os.listdir("."):
    if filename.endswith('.csv'):
        with open(filename, 'r') as f:
            for line in f:
                words = line.split(",")                                
                if words[0] in "TPW" or "KPM1" or "KPM2":
                    print words[0]
                    outfile.write(filename+ '\n')
                    break;  
outfile.close()

Tags: 文件csvinimporttxtforosopen
1条回答
网友
1楼 · 发布于 2024-04-24 09:05:43

要测试集合成员身份,应使用

if words[0] in {"TPW", "KPM1", "KPM2"}:

不是

^{pr2}$

条件words[0] in "TPW" or "KPM1" or "KPM2"在布尔上下文中始终计算为True。在

第一个Python计算words[0] in "TPW"。如果words[0]"TPW"的子串,那么整个条件是True。 如果words[0]不是“TPW”的子字符串,那么Python将转到"KPM1",这不是空字符串,在布尔上下文中总是True。在

相关问题 更多 >