1

私は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) で。したがって、すべての新しい出力が既存の出力に上書きされ、最終的な出力のみが表示されることを理解しました。どうすればこれを回避し、欲しいものを手に入れることができますか?

4

1 に答える 1