为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼唤远方 2023-10-18 20:40:47
我正在尝试在 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我想,根据搜索条件,它只会返回单元格数据不是包含街道地址列的行任何想法?
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

这是一种方法:替换

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

    person_name, data, unwanted_column = ln.split(",", 2)

它创建了一个您从未使用过的额外变量,但其目的是将其与您想要的数据分开。


查看完整回答
反对 回复 2023-10-18
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

您的“数据”值为“数据,街道地址”的原因是因为您将拆分函数设置为仅执行 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 个值放入各自的变量中。


查看完整回答
反对 回复 2023-10-18
  • 2 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信