可以用python实现XML和Excel相互转换吗
时间: 2023-08-11 08:08:51 浏览: 137
XML2Excel:将 xml 转换为字典然后将其打印到 excel 的 Python 脚本
是的,你可以使用 Python 中的一些库来实现 XML 和 Excel 文件之间的相互转换。下面是一个使用 `xml.etree.ElementTree` 和 `openpyxl` 库的示例代码,演示了如何将 XML 数据导出到 Excel 文件,并将 Excel 文件导入为 XML 数据。
首先,你需要安装 `openpyxl` 库。你可以使用以下命令在终端中安装它:
```
pip install openpyxl
```
接下来,你可以尝试以下代码:
```python
import xml.etree.ElementTree as ET
from openpyxl import Workbook, load_workbook
def export_xml_to_excel(xml_file, excel_file):
tree = ET.parse(xml_file)
root = tree.getroot()
wb = Workbook()
ws = wb.active
for data in root.findall('data'):
for row in data.findall('row'):
row_data = []
for cell in row.findall('cell'):
row_data.append(cell.text)
ws.append(row_data)
wb.save(excel_file)
def import_excel_to_xml(excel_file, xml_file):
wb = load_workbook(filename=excel_file)
sheet = wb.active
root = ET.Element('root')
for row in sheet.iter_rows(values_only=True):
row_element = ET.SubElement(root, 'row')
for cell_value in row:
cell_element = ET.SubElement(row_element, 'cell')
cell_element.text = str(cell_value)
tree = ET.ElementTree(root)
tree.write(xml_file)
# 将 XML 导出为 Excel
export_xml_to_excel('path/to/xml/file.xml', 'path/to/excel/file.xlsx')
# 将 Excel 导入为 XML
import_excel_to_xml('path/to/excel/file.xlsx', 'path/to/xml/file.xml')
```
确保你将实际的 XML 文件和 Excel 文件路径传递给函数,并根据需要进行修改。`export_xml_to_excel` 函数将 XML 数据导出到 Excel 文件,`import_excel_to_xml` 函数将 Excel 文件导入为 XML 数据。
希望这可以帮助到你!
阅读全文