Python 将 xml 附加到新建的 xml 文件
Python Append xml to newly made xml File
我正在工作并尝试制作一个脚本,该脚本仅将选定的 xml 添加到新创建的 xml 文件(来自 csv)。这是我到目前为止得到的..为格式化道歉
从 csv 创建脚本 - 有效:
if len(sys.argv) != 2:
os._exit(1)
path=sys.argv[1] # get folder as a command line argument
os.chdir(path)
csvFiles = [f for f in os.listdir('.') if f.endswith('.csv') or f.endswith('.CSV')]
for csvFile in csvFiles:
xmlFile = csvFile[:-4] + '.xml'
等等。
(xml 是在我的 csv 脚本之后创建的。)
现在我想从同一目录中的 xml 追加到新创建的 xml 文件的末尾..
将 xml 追加到新脚本中 - 失败!
xmlFiles = [x for x in os.listdir('.') if x.endswith('.xml') or f.endswith('.XML')]
for xmlFile in xmlFiles:
tree = ET.parse(xmlFile)
Meta = tree.getroot()
a = Meta.find('Speaker')
a1 = Meta.find('Device')
b = ET.SubElement(a, 'speaker')
c = ET.SubElement(b, 'device')
for i in range(len(tags)):
tags[i] = tags[i].replace(' ', '_')
else:
xmlData.write('<row>' + "\n")
for i in range(len(tags)):
xmlData.write(' ' + '<' + tags[i] + '>' \
+ row[i] + '</' + tags[i] + '>' + "\n")
xmlData.write('</row>' + "\n")
rowNum +=1
xmlData.write('</csv_data>' + "\n")
xmlData.close()
print ET.tostring(Meta)
此外,如果有更好的、不同的方法和参考,我会很高兴:) 谢谢
我最终删除了所有内容,并使用了 lxml 模块。谢谢大家
我正在工作并尝试制作一个脚本,该脚本仅将选定的 xml 添加到新创建的 xml 文件(来自 csv)。这是我到目前为止得到的..为格式化道歉
从 csv 创建脚本 - 有效:
if len(sys.argv) != 2:
os._exit(1)
path=sys.argv[1] # get folder as a command line argument
os.chdir(path)
csvFiles = [f for f in os.listdir('.') if f.endswith('.csv') or f.endswith('.CSV')]
for csvFile in csvFiles:
xmlFile = csvFile[:-4] + '.xml'
等等。 (xml 是在我的 csv 脚本之后创建的。) 现在我想从同一目录中的 xml 追加到新创建的 xml 文件的末尾..
将 xml 追加到新脚本中 - 失败!
xmlFiles = [x for x in os.listdir('.') if x.endswith('.xml') or f.endswith('.XML')]
for xmlFile in xmlFiles:
tree = ET.parse(xmlFile)
Meta = tree.getroot()
a = Meta.find('Speaker')
a1 = Meta.find('Device')
b = ET.SubElement(a, 'speaker')
c = ET.SubElement(b, 'device')
for i in range(len(tags)):
tags[i] = tags[i].replace(' ', '_')
else:
xmlData.write('<row>' + "\n")
for i in range(len(tags)):
xmlData.write(' ' + '<' + tags[i] + '>' \
+ row[i] + '</' + tags[i] + '>' + "\n")
xmlData.write('</row>' + "\n")
rowNum +=1
xmlData.write('</csv_data>' + "\n")
xmlData.close()
print ET.tostring(Meta)
此外,如果有更好的、不同的方法和参考,我会很高兴:) 谢谢
我最终删除了所有内容,并使用了 lxml 模块。谢谢大家