谢谢大家的回复。不,这不是家庭作业。这是我需要为工作解决的现实问题。我想用它作为学习python的弹簧板而不是在perl上处理它。我将来会更加谨慎地提交意见书。我用google搜索解决了这个问题。第一个脚本。再次感谢。
文件A有一个关键字列表(文件中的某些行可能有两个以逗号分隔的关键字)。我需要使用这些关键字来搜索另一个文件(文件B)并提取匹配的行,之后我需要读取该逗号分隔行上的一个特定条目。
算法很简单但是,因为我正在尝试同时学习Python,我不知道如何继续。我最初的开始是将文件B读入列表,但我想知道字典是否更好。
文件格式:
STRING, NUM 1, NUM 2, NUM 3
文件B格式:
STRING A, STRING B
我想在文件A中搜索STRING A,在文件A中搜索STRING B,并从每个文件中提取NUM 1并将它们加在一起。
答案 0 :(得分:0)
您可以将文件A 的所有内容存储在字典中,其中 String 作为键,数字作为值。然后迭代文件B 中的(字符串A,字符串B),并在字典中搜索字符串。您可以选择使用Pandas。
答案 1 :(得分:0)
这听起来像是一个家庭作业问题,但我至少会指出你正确的方向。
对于文件A,你肯定想要一本字典。因此,第一步是迭代文件A的行,并在执行此操作时,将项添加到键为STRING的字典中,并且值可能是NUM1,NUM2,NUM3的元组。您可以使用split()函数将字符串中的行转换为4个项目的列表。您可能还需要使用int()来实际将数字转换为整数类型。现在你有了这个字典,迭代文件B的行,并查找STRING A和STRING B(再次使用split()来分隔值),并将这两个NUM1加在一起。