将XML文件转换为Excel文件
评论
收藏

将XML文件转换为Excel文件

经验分享
丸子
2024-11-11 11:30·浏览量:4907
丸子
发布于 2024-11-11 11:29更新于 2024-11-11 11:304907浏览

背景:

XML是一种超文本标记语言和文件格式,具有可自定义标签,易于扩展,便于编辑,传输便捷等优点。XML已成为应用数据交换的常用方式。虽然XML格式易于传输和开发者操作,但对于普通用户来说,数据以xls或xlsx的形式呈现更易阅读和编辑。本篇文章将分享如何将XML文件和Excel表实现转换。


👇方法 1: 使用 Excel 本身进行转换

Microsoft Excel 本身支持导入 XML 文件并将其转换为 Excel 格式。步骤如下:

  1. 打开 Excel。
  2. 点击 文件 -> 打开,选择你要转换的 XML 文件。
  3. Excel 会弹出一个对话框询问你如何打开文件,选择 作为 XML 表打开。
  4. Excel 会自动解析 XML 文件,并将数据导入到工作表中。
  5. 最后,点击 文件 -> 另存为,选择 Excel 文件格式 (.xlsx),保存即可。
注意:此方法依赖于 XML 文件的结构。如果 XML 文件结构较为复杂,Excel 可能无法很好地解析某些嵌套数据。


👇方法 2: 用python解析XML文件,轻松拿捏XML数据

传入XML文件,递归自动解析提取数据,写入Excel

XML内容如下:

提取后的数据如下:

实现代码如下:

import xml.etree.ElementTree as ET

#使用 'r' 模式打开文件

with open(r'C:\Users\78586\Desktop\Canada.xml', 'r', encoding='utf-8') as file:

   content = file.read()  # 读取文件内容

#解析XML

root = ET.fromstring(content)

#函数递归提取所有文本

def extract_texts(element):

   texts = []

   for child in element:

       texts.append(child.text)

       texts.extend(extract_texts(child))

       texts.append(child.tail)

   return [text for text in texts if text is not None]  # 过滤掉None值

#获取所有文本

all_texts = extract_texts(root)

print(all_texts)

#输出结果

for text in all_texts:

   if '\n' not in text:

       print(text.strip())  # 打印每个文本,去除前后空格


提取数据并写入Excel的流程如下:

收藏
全部评论1
最新
发布评论
评论