需要根据搜索仅返回一个单元格

我正在尝试在 python 中进行 maltego 转换,我需要的是根据此搜索仅返回一个单元格


@staticmethod

   def get_names(search_person_name):

    matching_names = []

    with open("examplefile.csv") as f:

        for ln in f.readlines():

            person_name, data = ln.split(",", 1)

            if person_name.strip() == search_person_name.strip():

                matching_names.append(data.strip())

    return matching_names

.csv 文件由以下列组成:


person_name,data,streetaddress

我想,根据搜索条件,它只会返回单元格数据


不是包含街道地址列的行


任何想法?


呼唤远方
浏览 68回答 2
2回答

慕姐4208626

这是一种方法:替换    person_name, data = ln.split(",", 1)和    person_name, data, unwanted_column = ln.split(",", 2)它创建了一个您从未使用过的额外变量,但其目的是将其与您想要的数据分开。

慕桂英4014372

您的“数据”值为“数据,街道地址”的原因是因为您将拆分函数设置为仅执行 1 次拆分。person_name, data = ln.split(",", 1)split() 函数的第二个参数设置最大分割数。由于您将其设置为 1,因此它仅分割它看到的第一个“,”。由于文件的内容是“person_name,data,streetaddress”,那么变量就变成了:person_name = person_name data = data,streetaddress最简单的修复方法是将这一行更改为:person_name, data, streetaddress = ln.split(",", 2)这使得该行被分成 2 个部分,并将这 3 个值放入各自的变量中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python