如何向一组 xml 文档添加新的 xml 属性?
How to add new xml attributes to a set of xml documents?
我正在将目录中的一堆 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)?.. 有什么方法可以引用我正在添加的文档 pandas id属性?
您可以试试这个代码,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)
我正在将目录中的一堆 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)?.. 有什么方法可以引用我正在添加的文档 pandas id属性?
您可以试试这个代码,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)