Python——打开xml文件,根据csv中的数据更改数据,另存为新的xml文件

Python——打开xml文件,根据csv中的数据更改数据,另存为新的xml文件,python,xml,csv,Python,Xml,Csv,谢谢你的阅读 我对python非常陌生,甚至对xml文件也比较陌生。我有一个基线xml文件,我正试图用csv中某一行的数据更新它 根据csv行中的5列(查找第4列并替换为第5列)更改4条数据。csv将包含30-50行,因此我希望生成30-50个不同的xml文件 我的csv文件如下所示: heading1,heading2,heading3,heading4,heading5 dataA1,dataA2,dataA3,dataA4,dataA5 dataB1,dataB2,dataB3,dataB

谢谢你的阅读

我对python非常陌生,甚至对xml文件也比较陌生。我有一个基线xml文件,我正试图用csv中某一行的数据更新它

根据csv行中的5列(查找第4列并替换为第5列)更改4条数据。csv将包含30-50行,因此我希望生成30-50个不同的xml文件

我的csv文件如下所示:

heading1,heading2,heading3,heading4,heading5
dataA1,dataA2,dataA3,dataA4,dataA5
dataB1,dataB2,dataB3,dataB4,dataB5
dataC1,dataC2,dataC3,dataC4,dataC5
XML数据类似于:

 <Scalar name="system">
  <Attribute name="sysDataA1" convert="ascii">dataA1</Attribute>
  <Attribute name="sysDataA2" convert="ascii">dataA2</Attribute>

<Scalar name="hm2NetStaticGroup">
 <Attribute name="hm2NetDataA3">dataA3</Attribute>
这就是我一直在处理csv数据的内容:

# open csv file and print data from column.
import csv

var1 = "dataA1", "dataA2", "dataA3", "dataA4", "dataA5"

csv_dic = {var1: []}
csvFile = csv.reader(open('airData.csv', 'rt'))
for row in csvFile:
    csv_dic[var1].append(row[0])
for column in row:
    print(column)

我只是试着打印列以查看它得到的数据,它只是一直转到csv中的最后一行并打印。将第[0]行更改为第[1]行并不重要。我在这里误解了什么?

关于您的CSV,
heading1
实际上用于文件名?您想用
heading5
条目替换所有
heading4
?我假设未使用
header2
heading3
?(我建议您使用更好的命名),这将帮助我了解您想做得更好,谢谢。heading1用于加载配置的设备的文件名和主机名,因此它被使用了两次。heading2在xml文档中都用于将一段数据从默认值更改为唯一值。因此,让我们只说文件中的标题是:主机名、ipAddress、位置、defaultVlan、updatedVlan
# open csv file and print data from column.
import csv

var1 = "dataA1", "dataA2", "dataA3", "dataA4", "dataA5"

csv_dic = {var1: []}
csvFile = csv.reader(open('airData.csv', 'rt'))
for row in csvFile:
    csv_dic[var1].append(row[0])
for column in row:
    print(column)