从一个xml文件中读取多个xml文件,并通过Python将它们分离为新文件

2024-04-25 20:15:08 发布

您现在位置: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的内容。你知道吗


Tags: 文件txt内容xmlopenf1tldpython27
1条回答
网友
1楼 · 发布于 2024-04-25 20:15:08

TestFile1.xmlTestFile2.xml使用相同的cnt值。 因此,您正在为它们生成相同的输出文件(后者的输出将覆盖第一个文件)。 您可以:

  1. cnt初始化移到for循环之外
  2. 在创建类似sof2=open("NewFile"+<unique string>+str(cnt)+".txt","w")的文件名时添加唯一字符串。你知道吗

相关问题 更多 >