私はPythonが初めてです。複数の xml ファイルからタグ値を取得し、Excel シートに出力したいと考えています。Excelの印刷部分以外は、スクリプトを試してみましたが、正常に動作しました。
これが私のスクリプトです
from xml.dom.minidom import parse, parseString
import xlwt
import os
def sh(dir):
for r,d,f in os.walk(dir):
n=0
for files in f:
if files.endswith(".xml"):
print files
dom=parse(os.path.join(r, files))
name = dom.getElementsByTagName('rev')
title = dom.getElementsByTagName('title')
a=xlwt.Workbook()
sheet=a.add_sheet('sheet1')
sheet.write(n, 0, files)
sheet.write(n, 1, title[0].firstChild.nodeValue)
sheet.write(n, 2, name[0].firstChild.nodeValue)
n=n+1
a.save('sha.xls')
print title[0].firstChild.nodeValue
print name[0].firstChild.nodeValue
sh("path")
私が立ち往生した問題は、出力がこれらの列 (0, 0)、(0, 1)、(0,2) にのみ印刷されることです。
例えば、私がしたい場合
A B C
D E F
G H I
私の出力
G H I
(0,0)、(0,1)、(0,2) で。したがって、すべての新しい出力が既存の出力に上書きされ、最終的な出力のみが表示されることを理解しました。どうすればこれを回避し、欲しいものを手に入れることができますか?