我是个菜鸟,没有其他方法可以解决这个问题,所以我需要用 Python 来解决。我需要解析一个 xml 文件。当文件存储在本地时,这可以正常工作。但是,我需要能够在 Google Cloud Storage 中打开文件。
请看我的代码。我不知道如何将 blob 作为文件名传递给 ElementTree。如果我使用 blob.download_as_string() 我将 xml 文件的内容作为名称。这当然是文件的太长和错误的路径。
import xml.etree.ElementTree as ET
from google.cloud import storage
client = storage.Client()
#My bucket
bucket = client.get_bucket('import')
# This is my file
blob = bucket.get_blob('/xml/Profit.xml')
xml_file = blob.download_as_string()
#xml_file is now looooong string and not what I want
root = ET.parse(xml_file)
#This doesnt work...
result = ''
for elem in root.findall('.//LEVEL1/DATA'):
mystr = elem.text.replace(" ","").replace("+","").replace("-","")
print mystr.replace(" ","").replace("+","").replace("-","")
我希望 xml_file 变量包含我存储桶中文件的路径。或者想办法解析文件的内容。
任何为我指明正确方向的建议表示赞赏。
慕雪6442864
相关分类