在csv文件中搜索列表Python上的元素

时间:2014-01-02 12:01:38

标签: python

我需要一些使用Python制作的脚本的帮助,但它不起作用。

所以我有一个带有一些标识符(数字)的文件,我将其变成一个列表。到目前为止一切顺利!

然后我想检查.csv文件,如果该行的第一个元素在上一个列表中,则将该行写入新的.csv文件。

我的脚本如下所示:

tratamento = open('therapies.csv')
tratados_B = open('tratados_SubB.csv')
Outfile = open('subtype_B_Tratamento.csv', 'w')

treated_list = []


for line in tratados_B:
    TL = line.strip()
    treated_list.append(TL) 

for line in tratamento:
    TLB = line.strip().split(';')[0]
    if TLB in treated_list:
        Outfile.write(line)
    else: 
        pass

知道我做错了什么?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

尝试在脚本末尾添加Outfile.close()

更好的方法是使用with关键字。

treated_list = []

with open('subtype_B_Tratamento.csv', 'w') as Outfile,
     open('therapies.csv') as tratamento,
     open('tratados_SubB.csv') as tratados_B:

    for line in tratados_B:
        TL = line.strip()
        treated_list.append(TL) 

    for line in tratamento:
        TLB = line.strip().split(';')[0]
        if TLB in treated_list:
            Outfile.write(line)

With为您处理文件的关闭。