我仍然是一个新手开发人员,没有太多时间来处理这个问题。我有一个我构建的 .csv 文件,其中包含设施 ID、设施的序列和序列的 NSN。我有一个 .csv 文件,其中包含设施、序列和 NSN 的所有可能值,以及一个文件,该文件仅包含我需要的结构轻巧的产品。共有 476 个不同的设施,2935 个序列。每个序列有多个 NSN,但不是每个序列都有一个 NSN,也不是每个设施都需要一个序列。
我想要的是一个带有设施、序列和 NSN 的 .csv 输出,每一行都有一个 NSN。
*数据只是简化的例子
Desired Output Input ||||
VVVV
Facility Sequence NSN
104b
104b 22a 55-51a 22a
104b 22a 63-42c 55-51a
104b 24x 55-50a 63-42c
209c 22a 55-50a 24x
209c 39g 63-12L 55-50a
632f 99Y 44-10q
我的问题是我对需要做什么只有一个粗略的想法,我认为我目前的方向只会产生一个设施、序列和 NSN,然后再进入下一个设施重复。
这只是一个粗略的草稿,非常感谢编辑/简单的想法,应该深入解释他们的工作原理或一个完整的例子,因为我不知道如何处理它。
*注意 Quantity 是一些额外的东西,它可能不会在 dev 结束时出现,因为它已经被编译了。
def main(): 导入操作系统
filelist = list()
filewrite = open('NSN.txt', 'w')
class Facility:
'''Represents Facility'''
fileFacilitysource = open ('facility.csv', 'r')
def __init__ (self, facilityID):
self.FacilityID=facilityID #facilityID is the facility ID number
self.SeqList=list()
def AddSeq(self,Seq):
self.SeqList.append(Seq)
def FindSeq(self,Seq):
for S in self.SeqList:
if S.SeqID==SeqIDtoFind:
return S
class Sequence:
'''Sequence'''
fileSequencesource = open ('sequence.csv', 'r')
def __init__(self,SeqID,ID):
self.SeqID=SeqID #SeqID is the Sequence for the facility
self.ID=ID #ID is the ID number associated with the Sequence for its place
self.NSNList=list()
def AddNSN(self,NSN):
self.NSNlist.append(NSN)
class NSN:
'''NSN'''
fileNSNsource = open ('nsn.csv', 'r')
def __init__ (self,NSNID,QTY):
self.NSNID=NSNID #NSNID is the NSN for the sequence
self.QTY=QTY #QTY is the Quantity associated with the NSN
def Search():
for keywords in fileNSNlist:
if facility in line:
if sequence in line:
if NSN in line:
print facility, sequence, NSN
filelist.append(line)
TheString = " ".join(filelist)
searchfile.close()
filewrite.write(TheString)
filewrite.close()
main()