Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用python XML或simplified_scrapy将XML转换为csv_Python 3.x_Xml - Fatal编程技术网

Python 3.x 使用python XML或simplified_scrapy将XML转换为csv

Python 3.x 使用python XML或simplified_scrapy将XML转换为csv,python-3.x,xml,Python 3.x,Xml,我试图将1个XML文件转换为CSV/xls。我试过下面的代码,但似乎不起作用。 我必须为角色为Base的“NodeName”获取中心频率。 下面是示例XML 我从一个名为“simplified_scrapy”的用户那里找到了一个非常简单的库,用于XML到CVS 下面是您可以尝试的解决方案 from simplified_scrapy import SimplifiedDoc, utils, req import inspect import time import os import pand

我试图将1个XML文件转换为CSV/xls。我试过下面的代码,但似乎不起作用。 我必须为角色为Base的“NodeName”获取中心频率。 下面是示例XML


我从一个名为“simplified_scrapy”的用户那里找到了一个非常简单的库,用于XML到CVS 下面是您可以尝试的解决方案

from simplified_scrapy import SimplifiedDoc, utils, req
import inspect
import time
import os
import pandas as pd

def delEmptyRows(name, encoding="utf-8"):
    lines = utils.getFileLines(name, encoding=encoding)
    lines = [line for line in lines if line.strip()!='']
    utils.saveFile(name, "".join(lines), encoding=encoding)

root = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

xml = utils.getFileContent(root +'/xml.xml')
#xml = open('mumbai2.xml','r').read
doc = SimplifiedDoc(xml)
lstNodeResult = doc.selects('IBridge2ConfigResult')
data = [['NodeName','CenterFrequency']]

for result in lstNodeResult:
    lstrole = result.selects('IBridge2Config>Role')

    frequency =  result.CenterFrequency.text       
    NodeName = result.NodeName.text
    row = [NodeName,frequency]

    if NodeName !=' ':    
        data.append(row)
    # print (data)
    utils.save2csv('Frequency_List.csv',data)
    delEmptyRows('Frequency_List.csv')




谢谢@Sonu,在NTAFUXXXXNB0001Enti21001在NMIPRXXTW6011ENBI21001 5745在NMLDRKMJRTW0001EnBI21001 5865中,它起到了作用
from simplified_scrapy import SimplifiedDoc, utils, req
import inspect
import time
import os
import pandas as pd

def delEmptyRows(name, encoding="utf-8"):
    lines = utils.getFileLines(name, encoding=encoding)
    lines = [line for line in lines if line.strip()!='']
    utils.saveFile(name, "".join(lines), encoding=encoding)

root = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

xml = utils.getFileContent(root +'/xml.xml')
#xml = open('mumbai2.xml','r').read
doc = SimplifiedDoc(xml)
lstNodeResult = doc.selects('IBridge2ConfigResult')
data = [['NodeName','CenterFrequency']]

for result in lstNodeResult:
    lstrole = result.selects('IBridge2Config>Role')

    frequency =  result.CenterFrequency.text       
    NodeName = result.NodeName.text
    row = [NodeName,frequency]

    if NodeName !=' ':    
        data.append(row)
    # print (data)
    utils.save2csv('Frequency_List.csv',data)
    delEmptyRows('Frequency_List.csv')