2

私は現在このタスクに取り組んでおり、立ち往生しています。アドバイスをお願いします。以下に書いているコードは、複数のフォルダーから .txt ファイル名のみを返しますが、各 .txt ファイルの内容を印刷して、Excel の異なる行に保存したいと考えています。各 .t​​xt ファイルの内容は数字です。

import os, glob,xlwt
#create workbook and worksheet
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('data')
path= 'E:\Cag\Data'
row = 0
for dir,subdir,files in os.walk(path):
    for file in files:
        if glob.fnmatch.fnmatch(file, '*.txt'):
            L = file.strip()
            sheet.write(row,5,L)
            row += 1
wbk.save('read_all_txt_in_folders.xls')
print 'success'
4

2 に答える 2

2

ファイル名は自分で書いているのでわかります。Lファイル名が含まれます。(そして、私にL = file.strip()は不必要に思えます。)

ファイルの内容を書きたい場合は、代わりにL = open(os.path.join(dir, file), "r").read().

于 2011-09-30T06:54:13.237 に答える
2

ファイルの内容を書き込みたい場合は、代わりに行う必要があります

with open(os.path.join(dir, file), "r") as source:
    L= source.read()

これにより、読み取りが完了したときにファイルが実際に閉じられていることが保証されます。これにより、システム リソースが解放されます。

于 2011-09-30T10:09:56.323 に答える