Python for循环只运行一次?

2024-06-25 23:10:32 发布

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

该脚本将根据csv中的数据库查询包含物种名称的csv,如果两者都在,则返回。问题是,尽管它仍在阅读所有术语以进行精细搜索,但它只是在搜索第一个术语。i、 e.如果我在“p中的行”之前打印物种L,所有物种名称都会正确返回

from pathlib import Path
import os
import csv

p = csv.reader(open('Paldat.csv','r',newline=''), delimiter=',')

with open('newsssssss.csv','r',newline='\n')as r:
    for line in r:
        taxons=line.split(',')
        no = ['\r\n']
        noo = ['\n']
        
        if taxons == no:
                continue
        elif taxons == noo:
                continue        
        else:
            speciesl = []
            for val in taxons:
                val = val.replace('\n','')
                speciesl.append(val)
            g=speciesl[0].lower()
            if len(speciesl) < 2:
                continue
            else:
                s=speciesl[1].lower()
        for row in p: #This loop seems to be the issue
                genus = row[0].lower()
                species = row[1].lower()
                if g == genus and s == species:
                    print('Perfect match')
                    print(g)
                elif s == species:
                    print(speciesl)
                    print('Species found')
                else:
                    continue
        else:
                continue

以下是Paldat.csv的一部分:

Camassia,leichtlinii,monad,monad,large (51-100 µm),-,-,-,-,-,sulcate,heteropolar,oblate,-,elliptic,-,-,boat-shaped,no suitable term,aperture(s) sunken,1,sulcus,sulcate,aperture membrane ornamented,-,-,-,"reticulate, heterobrochate, perforate",-,-,-,-,-,-,-,-,-,-,-,present,,
Cistus,parviflorus,monad,monad,medium-sized (26-50 µm),-,-,-,-,-,colporate,isopolar,-,spheroidal,circular,-,-,spheroidal,circular,"aperture(s) sunken, not infolded",3,colporus,"colporate, tricolporate",-,-,-,-,striato-reticulate,-,-,-,-,-,-,-,-,-,-,-,absent,,
Camellia,japonica,monad,monad,medium-sized (26-50 µm),41-50 µm,36-40 µm,41-50 µm,41-50 µm,41-50 µm,colpate,isopolar,-,spheroidal,circular,oblique,prolate,-,triangular,aperture(s) sunken,3,colpus,"colpate, tricolpate",operculum,"granulate, scabrate, reticulate",-,-,microreticulate,-,-,-,-,-,-,-,-,-,-,-,-,,
Camellia,sinensis,monad,monad,medium-sized (26-50 µm),41-50 µm,36-40 µm,41-50 µm,41-50 µm,41-50 µm,colporate,isopolar,oblate,-,triangular,oblique,isodiametric,-,triangular,aperture(s) sunken,3,colporus,"colporate, tricolporate",operculum,"scabrate,  verrucate,  gemmate",-,-,"verrucate, perforate",-,-,-,-,-,-,-,-,-,-,-,-,,

以及Newssss.csv的一部分:

Camassia,leichtlinii

Camellia,japonica

Camellia,sinensis

Chrysanthemum,leucanthemum

Cirsium,arvense

Cissus,quadrangularis

Tags: csvimport物种vallowerelseprintcontinue