我正在将目录中的一堆xml文档标准化为pandas数据框。但是,为了正确执行此操作,我认为为每个xml文档分配一个ID会更容易,以便以后将所有文档合并到一个数据框中。因此,我尝试添加如下数字ID:
for filepath in glob(os.path.join('../data/trainingFiles/', '*.xml')):
with open(filepath) as f:
xml_doc = BeautifulSoup(f.read(), 'lxml')
for i, sentences in enumerate(xml_doc.find_all("sentence")):
sentences['pandas_id'] = str(i)
print(sentences)
但是,以上代码将同一文档内的所有句子属性添加了不同的数字ID。如何为每个文档分配不同的ID(即,我想向文档中的所有元素添加相同的ID)?.是否有任何方式可以携带对我要添加的熊猫ID属性的文档的引用?
答案 0 :(得分:1)
您可以尝试使用此代码,document_id
只会随每个文件而更改:
for document_id, filepath in enumerate(glob(os.path.join('../data/trainingFiles/', '*.xml'))):
with open(filepath) as f:
xml_doc = BeautifulSoup(f.read(), 'lxml')
for sentences in xml_doc.find_all("sentence"):
sentences['pandas_id'] = str(document_id)
print(sentences)