我的問題是,我需要第二,第三,第四等人的數據成爲新的列表A和寫在第一個人,第二個人等等下面的行中,所以信息全部格式化並放在一個新行中的文件中。 XML文件的如何遍歷列表,從列表中提取信息,並將其放入文件的單獨行中
結構:
<people>
<person>
<fname> Travis </fname>
<lname> Anderson </lname>
<age> 24 </age>
<school> Nebraska </school>
</person>
<person>
<fname> James </fname>
<lname> Kritten </lname>
<age> 23 </age>
<school> Texas State </school>
</person>
<person>
<fname> Kaine </fname>
<lname> Allen </lname>
<age> 27 </age>
<school> Michigan State </school>
</person>
</people>
這是我的代碼至今:
def peopleData(fileName):
readFile = open(fileName, "r").read()#read file
newFile = input("")#create file
writeFile = open(newFile, "w")#write file
listA = []#list
with open(fileName, "r") as file:
for tags in file:
strippedtags = str(tags.split(">")[1].split("<")[0]) #strip XML tags manually.
listA.append(strippedtags.strip()) #strip ' \n'
listA = list(filter(None, listA)) #get rid of emptyspaces in the list
writeFile.write("{} {}, ".format(listA[1], listA[2])) #fname, lname
writeFile.write("He is {} years old. ".format(listA[3])) #age
writeFile.write("He went to {}.".format(listA[4])+"\n") #school
writeFile.close
所以列表看起來像
>>>['Travis', 'Anderson', '24', 'Nebraska','James' ,'Kritten', '23', 'Texas State','Kaine', 'Allen', '27', 'Michigan State']
當我執行的功能我獲取第一人的信息,這正是我想要的。
"Travis Anderson. He is 24 years old. He went to Nebraska."
但是對於其他人來說,我不知道如何讓他們以第一人稱相同的方式書寫。喜歡這個。
"Travis Anderson. He is 24 years old. He went to Nebraska."
"James Kritten. He is 23 years old. He went to Texas State."
"Kaine Allen. He is 27 years old. He went to Michigan State."
我需要某種循環,但我不知道從哪裏開始。
的信息重複(用不同的變量,是否可以幫助列表每5索引)。
那麼我需要幫助,所以我會問問題。我現在已經有11個小時了。 – thatoneguy
@thatoneguy休息;' – Stargateur
我不想,我想弄清楚。我想學習如何編寫代碼,而且我最好的方法就是編寫很多代碼。 – thatoneguy