Как создать код Python для чтения данных из файла Excel и создания файлов XML - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужна помощь в создании кода Python для создания XML с использованием данных в листе Excel. Я не Python эксперт. Я попытался создать кусок кода ниже. Код просто читает данные из Excel, но я не уверен, как написать код для преобразования его в формат XML.

Столбец в Excel представляет XML теги, а строки представляют уникальные точки данных

Код должен создать несколько файлов XML с использованием точек данных в файле Excel

. Пожалуйста, найдите код ниже. Я пробовал несколько вещей, но не смог завершить код.

 import xlrd

 ExcelFileName= 'Data.xlsx'
 workbook = xlrd.open_workbook(ExcelFileName)
 worksheet = workbook.sheet_by_name("Sheet1")
 num_rows = worksheet.nrows
 num_cols = worksheet.ncols
 result_data = []

 for curr_row in range(0, num_rows, 1):
     row_data = []

     for curr_col in range(0, num_cols, 1):
         data = worksheet.cell_value(curr_row, curr_col)
         print(data)
         row_data.append(data)

     result_data.append(row_data)

1 Ответ

0 голосов
/ 04 февраля 2020

Кажется, вы знаете, как прочитать файл Excel. Используйте ElementTree в python для записи в xml. Допустим, у вас есть xml как

<data>
    <items>
        <item name="col1">row1</item>
        <item name="col2">row2</item>
    </items>
</data>

Вы можете написать это с помощью следующего кода s>

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')
items = ET.SubElement(data, 'items')
item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item1.set('name','col1')
item2.set('name','col2')
item1.text = 'row1'
item2.text = 'row2'

# create a new XML file with the results
mydata = ET.tostring(data)
myfile = open("example.xml", "w")
myfile.write(mydata)
...