NED帮助解析具有以下详细信息的CSV文件为XML文件

CSV文件的格式如下:

name,ip,timeout
domain\user1,10.119.77.218,9000
domain\user2,2.80.189.26,9001
domain\user3,4.155.10.110,9002
domain\user4,9.214.119.86,9003
domain\user5,4.178.187.27,9004
domain\user6,3.76.178.117,9005

CSV中的上述详细信息需要添加到具有以下格式的XML文件中:

<login>
      <entry name="domain\user1" ip="10.119.77.218" timeout="9000"/>
      <entry name="domain\user2" ip="2.80.189.26" timeout="9001"/>
      <entry name="domain\user11" ip="4.155.10.110" timeout="12000"/>
      ...
</login>

需要一些脚本,因为有需要转换的文件音调.我try 了以下工具: https://www.convertcsv.com/csv-to-xml.htm

但上面的工具将单个行转换为不需要的单独条目.期待您的反馈.谢谢.

推荐答案

如果CSV/XML文件 struct 简单,可以使用csv模块,直接构造字符串(对于较复杂的场景,建议使用lxml/bs4模块):

import csv

with open("your_data.csv", "r") as f:
    reader = csv.reader(f)
    header = next(reader)
    data = list(reader)

out = ["<login>"]
for line in data:
    s = " ".join(f'{k}="{v}"' for k, v in zip(header, line))
    out.append(f"\t<entry {s} />")
out.append("</login>")

print(*out, sep="\n")

打印:

<login>
        <entry name="domain\user1" ip="10.119.77.218" timeout="9000" />
        <entry name="domain\user2" ip="2.80.189.26" timeout="9001" />
        <entry name="domain\user3" ip="4.155.10.110" timeout="9002" />
        <entry name="domain\user4" ip="9.214.119.86" timeout="9003" />
        <entry name="domain\user5" ip="4.178.187.27" timeout="9004" />
        <entry name="domain\user6" ip="3.76.178.117" timeout="9005" />
</login>

Python相关问答推荐

如何调整spaCy token 化器,以便在德国模型中将数字拆分为行末端的点

acme错误-Veritas错误:模块收件箱没有属性linear_util'

当多个值具有相同模式时返回空

try 在树叶 map 上应用覆盖磁贴

通过Selenium从页面获取所有H2元素

如何让Flask 中的请求标签发挥作用

管道冻结和管道卸载

如何获取numpy数组的特定索引值?

下三角形掩码与seaborn clustermap bug

ConversationalRetrivalChain引发键错误

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

30个非DATETIME天内的累计金额

合并相似列表

Scipy差分进化:如何传递矩阵作为参数进行优化?

如何提高Pandas DataFrame中随机列 Select 和分配的效率?

在round函数中使用列值

为什么我只用exec()函数运行了一次文件,而Python却运行了两次?

从列表中分离数据的最佳方式

如果列包含空值,则PANAS查询不起作用

如何在Django查询集中生成带有值列表的带注释的字段?