Python:检查csv文件中是否存在给定值

2024-09-28 22:42:51 发布

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

我想写一个函数,如果csv文件中存在给定值,则返回该函数

如果是,我想打印那行

如果不是,我想打印“没有匹配行”

class Schronisko:
plik=''
def __init__(self, plik):
    self.plik = plik
def wyszukajPoImiePsa(self, ImiePsa):
        wynik = ''
        tresc = csv.reader(open(self.plik, 'r'), delimiter=';')
        for wiersz in tresc:
            if wiersz[0] == ImiePsa:
                wynik = ';'.join(wiersz) + '\n'
        if ImiePsa not in wiersz[0]:
                print ("zle")
        print(wynik)

检查csv文件中是否有匹配值时的当前输出

zle
Lala;Chart;4;2020-11-04

没有匹配值时的输出

 zle

所以问题是,即使给定了匹配值,我也不希望函数打印'zle'

有什么问题吗

我的CSV文件:

Dsac;Chart;2;2020-11-04
Dsac;Chart;3;2020-11-04
Dsac;Chart;4;2020-11-04
Lala;Chart;4;2020-11-04
Sda;Chart;4;2020-11-04
Sda;X;4;2020-11-04
Sda;Y;4;2020-11-04
pawel;Y;4;2020-11-04

Tags: 文件csv函数inselfdefchartsda
1条回答
网友
1楼 · 发布于 2024-09-28 22:42:51

也许一个for else可以解决这个问题:

class Schronisko:
    plik=''
    def __init__(self, plik):
        self.plik = plik
    def wyszukajPoImiePsa(self, ImiePsa):
        wynik = ''
        tresc = csv.reader(open(self.plik, 'r'), delimiter=';')
        for wiersz in tresc:
            if wiersz[0] == ImiePsa:
                wynik = ';'.join(wiersz) + '\n'
                break
        else:
           print ("zle")
        print(wynik)

相关问题 更多 >