我正在尝试在 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)
它创建了一个您从未使用过的额外变量,但其目的是将其与您想要的数据分开。
慕桂英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 个值放入各自的变量中。
添加回答
举报
0/150
提交
取消