gpt4 book ai didi

Python:在csv中查找正确的值

转载 作者:行者123 更新时间:2023-12-01 05:31:13 24 4
gpt4 key购买 nike

我是一个相对较新的程序员,对 .csv 文件没有太多经验。我的文件如下所示:

hugþekkur;181038;lo;alm;hugþekkur;FSB-KK-NFET
hugþekkur;181038;lo;alm;hugþekks;FSB-KK-EFET
hugþekkur;181038;lo;alm;hugþekkir;FSB-KK-NFFT
hugþekkur;181038;lo;alm;hugþekkra;FSB-KK-EFFT

我想根据我已有的搜索条件来搜索正确的行。我的代码如下所示:

import csv  
reader = csv.reader(database, delimiter=';')
for split in reader:
if (error_word == split[4]) and (wrong_mark in split[5]) and (number_mark in split[5]) and (infl_mark in split[5]) and (pos_mark == split[2]):
idnumber = split[1]
if (idnumber == split[1]) and (gender_mark in split[5]) and
(number_mark in split[5]) and (infl_mark in split[5]):
return split[4]

出于某种原因,当我这样搜索时,它不会返回我所期望的结果。例如,

如果 idnumber = 181038、gender_mark = "KK"、number_mark = "NFET"且 infl_mark = "FSB",

它应该在此处返回第一行。事实并非如此。另外,当我跳过一个搜索条件时,我会得到结果,但缺少一些行,包括我想要的行。我到底在寻找什么似乎并不重要,我找不到它。这些对你来说有意义吗?任何帮助将不胜感激。

最佳答案

最大的问题可能是 idnumber 匹配。如果你的变量 idnumber 是一个 int (就像我从字面上读你的“For example”行一样),那么这将与字符串不匹配: 181038 == '181038' 计算结果为 错误。你可以在 Perl 中做这样的事情,但不能在 Python 中做。在 Python 中,int(idnumber)==int(split[1]) 会更可靠。

关于Python:在csv中查找正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20255786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com