在Python中处理多个文件,并在字段上进行匹配
我有许多CSV文件需要与一个“主列表”进行比较,并根据唯一ID确定这些其他文件是否包含该密钥的条目 在Python中,最简单的方法是什么?也就是说,您建议我将数据读入什么样的结构,以及您建议我如何迭代它 下面是我正在寻找的数据和输出的示例在Python中处理多个文件,并在字段上进行匹配,python,file,pattern-matching,Python,File,Pattern Matching,我有许多CSV文件需要与一个“主列表”进行比较,并根据唯一ID确定这些其他文件是否包含该密钥的条目 在Python中,最简单的方法是什么?也就是说,您建议我将数据读入什么样的结构,以及您建议我如何迭代它 下面是我正在寻找的数据和输出的示例 **Master List** Unique ID : File Name : File Version : Responsible Party J578221 : Expander : 1.23 : Joe Bloggs KK89821 : Top :
**Master List**
Unique ID : File Name : File Version : Responsible Party
J578221 : Expander : 1.23 : Joe Bloggs
KK89821 : Top : 0.9 : Mike Smith
**Location X**
Region : File Name : Unique ID
USA : Acme Expander : J578221
USA : Acme Tail : MK33431
**Location Z**
Reqion : File Name : Unique ID : Date Added
China : Expander : J578221 : 03-04-2012
HK : Acme Top : KK89821 : 06-07-2012
**Output:**
Unique ID : File Name : File Version : Responsible Party : In Location X : In Location Z
J578221 : Expander : 1.23 : Joe Bloggs : YES : YES
KK89821 : Top : 0.9 : Mike Smith : NO : YES
最简单的方法可能是使用正则表达式()检索主文件中每一行的键。(如果唯一ID的位置发生更改,可能需要首先计算文件的结构并修改表达式。) 将此ID列表作为键存储在字典中,并使用列表作为值,指示包含每个主键的文件
之后,您可以在字典中筛选一个或多个文件的ID(键),或查找包含一个特定ID的文件。您尝试过什么吗?出现了什么问题?我最终将主列表的键读入字典,ID作为键,列表作为其值(正如我的michael建议的那样),并以相同的方式将其他两个文件读入字典。然后遍历主列表字典,执行如下操作:if id in sorted(masterdict):if id in locationxdict和id in locationzdict:…进程。。。