簡體   English   中英

使用Python(Pandas)將文件夾中的所有xml文件附加到單個Dataframe

[英]Appending all xml files in a folder to single Dataframe using Python (Pandas)

我在試圖轉換為csv的文件夾中有一組xml文件,后來將它們附加到一個Dataframe中。 下面的代碼可以幫助我將xml文件轉換為csv。 但是,我的問題是只有第一個文件轉換為csv,而不是其余文件。 誰能在下面的代碼中指導我哪里出錯了:

for file in allFiles:
    print(file)
    def iter_docs(file):
        for docall in file:
            doc_dict = {}
            for doc in docall:
                tag = [elem.tag for elem in doc]
                txt = [elem.text for elem in doc]
                if len(tag) > 0:
                    doc_dict.update(dict(zip(tag, txt)))
                    else:
                        doc_dict[doc.tag] = doc.text
                    yield doc_dict
     etree = ET.parse(file_)
     df_0 = pd.DataFrame(list(iter_docs(etree.getroot())))
     df_0.to_csv("file.csv", index=False)

創建DataFrame df_0將所有數據附加到xml文件中,然后保存到csv文件中:

df_0 = pd.DataFrame()    # Create df to store all your data
for file in allFiles:        
    print(file)
    def iter_docs(file):
        for docall in file:
            doc_dict = {}
            for doc in docall:
                tag = [elem.tag for elem in doc]
                txt = [elem.text for elem in doc]
                if len(tag) > 0:
                    doc_dict.update(dict(zip(tag, txt)))
                    else:
                        doc_dict[doc.tag] = doc.text
                    yield doc_dict
     etree = ET.parse(file_)
     df_0 = df_0.append(pd.DataFrame(list(iter_docs(etree.getroot()))))    # Append data
df_0.to_csv("file.csv", index=False)

暫無
暫無

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

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