我正在嘗試在 python 中進行 maltego 轉(zhuǎn)換,我需要的是根據(jù)此搜索僅返回一個單元格@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我想,根據(jù)搜索條件,它只會返回單元格數(shù)據(jù)不是包含街道地址列的行任何想法?
2 回答

慕姐4208626
TA貢獻1852條經(jīng)驗 獲得超7個贊
這是一種方法:替換
person_name, data = ln.split(",", 1)
和
person_name, data, unwanted_column = ln.split(",", 2)
它創(chuàng)建了一個您從未使用過的額外變量,但其目的是將其與您想要的數(shù)據(jù)分開。

慕桂英4014372
TA貢獻1871條經(jīng)驗 獲得超13個贊
您的“數(shù)據(jù)”值為“數(shù)據(jù),街道地址”的原因是因為您將拆分函數(shù)設(shè)置為僅執(zhí)行 1 次拆分。
person_name,?data?=?ln.split(",",?1)
split() 函數(shù)的第二個參數(shù)設(shè)置最大分割數(shù)。由于您將其設(shè)置為 1,因此它僅分割它看到的第一個“,”。由于文件的內(nèi)容是“person_name,data,streetaddress”,那么變量就變成了:
person_name?=?person_name data?=?data,streetaddress
最簡單的修復(fù)方法是將這一行更改為:
person_name,?data,?streetaddress?=?ln.split(",",?2)
這使得該行被分成 2 個部分,并將這 3 個值放入各自的變量中。
添加回答
舉報
0/150
提交
取消