答案:Python中pandas导出XML需转换数据结构,推荐使用dicttoxml库或内置ElementTree模块。1. 安装dicttoxml后将DataFrame转为记录列表并生成格式化XML;2. 使用xml.etree.ElementTree手动构建带行索引的XML树结构;3. 通过字符串拼接方式按模板写入简洁XML文件。选择依据为是否需美化输出、能否安装第三方包及结构自定义需求。

Python 中 pandas 本身不直接支持将 DataFrame 保存为 XML 文件,但可以通过转换成字典或记录列表,再使用 xml.etree.ElementTree 或第三方库如 dicttoxml 来实现导出 XML。以下是几种实用方法。
安装依赖:
pip install dicttoxml代码示例:
import pandas as pd# 示例数据
df = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Age': [25, 30],
'City': ['Beijing', 'Shanghai']
})
立即学习“Python免费学习笔记(深入)”;
# 转换为字典列表
data = df.to_dict(orient='records')
# 转为XML
xml = dicttoxml(data, custom_root='Data', attr_type=False)
# 格式化输出
dom = md.parseString(xml)
pretty_xml = dom.toprettyxml()
# 保存到文件
with open('output.xml', 'w', encoding='utf-8') as f:
f.write(pretty_xml)
使用 Python 内置的 xml.etree.ElementTree 模块:
import pandas as pddf = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Age': [25, 30],
'City': ['Beijing', 'Shanghai']
})
# 创建根节点
root = ET.Element("DataFrame")
# 遍历每一行
for index, row in df.iterrows():
record = ET.SubElement(root, "Record", id=str(index))
for col in df.columns:
child = ET.SubElement(record, col)
child.text = str(row[col])
# 构建树并写入文件
tree = ET.ElementTree(root)
tree.write("output_manual.xml", encoding="utf-8", xml_declaration=True)
若需更灵活控制标签名和结构,可结合字符串拼接或模板方式生成简洁 XML:
def df_to_xml(df, filename):# 调用
df_to_xml(df, 'simple_output.xml')
基本上就这些。选择哪种方式取决于你是否需要格式美化、是否允许安装第三方包,以及对 XML 结构的要求。dicttoxml 最方便,ElementTree 更标准,字符串拼接最轻量。
以上就是Python怎么将pandas DataFrame保存为XML_Python pandas数据框导出XML文件方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号