如何让python程序用分层d读取和打印

2024-06-01 07:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我仍然是一个新手开发没有多少时间在我的腰带与这个。我构建了一个.csv文件,其中包含设备ID、设备序列和序列的NSN。我有一个.csv文件,它包含了facility、sequence和NSN的所有可能值,还有一个文件,它只包含一个facility,一个我需要的结构简单的产品。总共有476个不同的设施,2935个序列。每个序列有多个NSN,但不是每个序列都有一个NSN,也不是每个设备都需要一个序列。你知道吗

我想要的是一个.csv输出与设施,序列和NSN的每一行有一个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,然后再转移到下一个设施重复。你知道吗

这只是一个粗略的草案,编辑/简单的想法是非常感谢的,事先的建议应该在如何工作或一个完整的例子,因为我不知道如何处理它非常深入的解释。你知道吗

*注意数量是额外的,可能无法到达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()

Tags: csvtheinselfidforisdef