簡體   English   中英

從一個xml文件中讀取多個xml文件,然后通過Python將其隔離到新文件中

[英]Reading multiple xml files from one xml file and segregating them to new file through Python

我有一個主文件(虛擬文件),它指向兩個XML文件(TestFile1和TestFile2)。 每個文件(TestFile1和TestFile2)都包含多個xml文件。 我正在嘗試生成新的單個xml文件(NewFile1,NewFile2,NewFile3,NewFile4)

DummyFile.txt的內容

C:/Python27/TestFile1.xml
C:/Python27/TestFile2.xml

TestFile1.xml的內容:

STLD 20190717 1234 67889056 826 123 L <TLD logVersion= "1.0"></TLD>
STLD 20190717 1234 67889056 826 124 L <TLD logVersion= "1.0"></TLD>

TestFile2.xml的內容:

STLD 20190717 1234 67889056 826 125 L <TLD logVersion= "1.0"></TLD>
STLD 20190717 1234 67889056 826 126 L <TLD logVersion= "1.0"></TLD>

以下是我嘗試過的python代碼:

filepath = 'C:/Python27/DummyFile.txt'
with open(filepath) as fp:
    for j in fp:
        with open(j.rstrip()) as f1:
        #f1 = open(j.rstrip(),"r")
            Lines=f1.readlines()
            cnt=1
            for i in Lines:
                f2=open("NewFile"+str(cnt)+".txt","w")
                f2.write(i)
                cnt=cnt+1

            #f1.close()
            f2.close()

已生成的NewFile1的內容:

STLD 20190717 1234 67889056 826 125 L <TLD logVersion= "1.0"></TLD>

已生成的NewFile2的內容:

20190717 1234 67889056 826 126 L <TLD logVersion= "1.0"></TLD>

使用上述實現,我只能使用TestFile2的內容生成NewFile1&NewFile2。 它沒有填充TestFile1的內容。

您正在為TestFile1.xmlTestFile2.xml使用相同的cnt值。 因此,您將為其生成相同的輸出文件(后者的輸出將覆蓋第一個文件)。 您可以:

  1. cnt初始化移出for循環
  2. 在創建文件名時添加唯一字符串,例如f2=open("NewFile"+<unique string>+str(cnt)+".txt","w")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM