Как сохранить XML для XLSX с помощью Python - PullRequest
0 голосов
/ 15 мая 2018

У меня есть данные в формате XML, и я хочу сохранить их в файле Excel.

ФАЙЛ XML:

<!--some code....-->
  <r id="1">
    <smp id="f9eb9" />
    <data>
      < id="S12345" />
      <cq>41.25</cq>
      <a>
        <c>1</c>
        <t>72.0215</t>
        <f>0.0417169</f>
      </a>
      <a>
        <c>2</c>
        <t>72.0263</t>
        <f>0.04169</f>
      </a>
      <a>
        <c>3</c>
        <t>72.0223</t>
        <f>0.0417146</f>
      </a>
    </data>
  </r>

Я уже написал код для него и использую BeautifulSoup, но не смогдостичь точно.

import sys
import csv
import xlrd
import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('/home/randm.xlsx')
worksheet = workbook.add_worksheet()

from bs4 import BeautifulSoup
with open("/home/data.xml","r") as f:
contents = f.read()

soup = BeautifulSoup(contents,'xml')
data = []
data3=[]
data2=[]
data1 = []
cols =set()

for item in soup.findAll('r'):
    d = {}
    m=[]
    n=[]
    for cid in item.findAll('c'):
        m.append(cid.text)
        d[cid.name] = m
        #data1=d.popitem()
        data2=cid.findNextSiblings('f')
        data3=(data1[1][-1])
        print data3,data2

Теперь я хочу сохранить данные3 и данные2 в Excel

Требуется вывод: в формате Excel из приведенного выше кода

  c    f
  1    0.0417169
  2    0.04169
  3    0.0417146

Кто-нибудь знает

...