Python实现XML文件转Excel

了解xml.etree.ElementTree

https://zhuanlan.zhihu.com/p/502584681?utm_id=0

实现代码

运行前请确保对应的库装好

# encoding: utf-8
import os
import xml.etree.ElementTree as ET
import pandas as pd
from tqdm import tqdm


folder_path = "C:/Users/Administrator/Desktop/新建文件夹"  # 替换为你的文件夹路径
 
# 获取文件夹中的所有文件
file_list = os.listdir(folder_path)
 
# 创建一个空的DataFrame来存储所有XML文件的数据
all_data = pd.DataFrame()
 
# 使用tqdm显示进度条
for file_name in tqdm(file_list, desc="Processing files"):
    if file_name.endswith(".xml"):
        file_path = os.path.join(folder_path, file_name)
         
        # 解析XML文件
        tree = ET.parse(file_path)
        root = tree.getroot()

        # 提取XML数据并转换为DataFram
        xml_data = {}
        for element in root.iter():
            # xml_data[element.tag] = element.attrib
            xml_data.update(element.attrib)

        # print('end')
        # print(xml_data)

        df = pd.DataFrame(xml_data, index=[0])

        # 将DataFrame添加到总的数据集中
        all_data = pd.concat([all_data, df], ignore_index=True)

# 将数据保存为Excel文件
excel_file_path = "C:/Users/Administrator/Desktop/新建文件夹/2011.xlsx"  # 替换为你的输出文件路径,如:/path/to/output/file.xlsx
all_data.to_excel(excel_file_path, index=False)
print('end')
print(all_data)

print("转换完成!Excel文件已保存。")
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,你可以使用 Python 中的一些库来实现 XMLExcel 文件之间的相互换。下面是一个使用 `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 数据。 希望这可以帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值