我正在使用Activity-Browser,我想将本地数据集导入到我的数据库中。我的文件是xml格式的。我不知道如何导入这种格式。有没有办法做到这一点,或者我可以用python代码来做吗?
我的数据来自:https://www.probas.umweltbundesamt.de/php/prozessdetails.php?id ={9 FB 8299 D-EEFF-4D 3C-B17 C-6085 B278 C 01 A}#nachoben.这里的xml文件是我想导入的文件。我已经尝试用xml.etree.ElementTree将数据写入pandas,但它不像我期望的那样工作。用python将数据库写入bw的方法是什么?我的数据库看起来如何?
我的代码看起来像这样:
#import packages
import xml.etree.ElementTree as ET
import pandas as pd
#parse the xml file
tree = ET.parse('process.xml')
root = tree.getroot()
#initialize an empty list to store data
A = []
#define a recursive function to parse the xml tree
def parse_element(element, item):
if len(list(element)) == 0:
item[element.tag] = element.text
else:
for child in list(element):
parse_element(child, item)
#iterate through the xml tree and parse the elements
for child in root:
item={}
parse_element(child, item)
A.append(item)
df = pd.DataFrame(A)
字符串
3条答案
按热度按时间ct2axkht1#
我不知道有什么方法可以将XLM导入到AB中,在Python中读取它并使用BW将其写入数据库可能比在AB中使用它更容易。
如果您需要帮助,请让我知道您的数据是如何构建的。
xeufq47z2#
很抱歉这么晚才回复,但无论如何你应该看看这个,我认为它会帮助你实现你想做的事情。
编辑代码以使用XML而不是xlsx,或者将数据转换为xlsx并直接使用。
svujldwt3#
要创建数据库,您可以创建一个遵循文档中指定的数据格式的python对象。您可以找到如何从该python对象创建数据库的示例。(例如here)。在旧的笔记本电脑中也有几个examples(笔记本以IO开头)。您确实可以使用
xml.etree.ElementTree
来解析xml文件,它似乎没有遵循bw 2 io中已经有导入器的任何模式。我建议您遵循提取-转换-加载(ETL)其他bw 2 io导入器的逻辑。理想情况下,您应该与社区共享导入器,以便其他人也可以使用这些文件。