Python:如何读取多个文件夹中的所有文本文件内容并保存到一个Excel文件中

2 投票
2 回答
4440 浏览
提问于 2025-04-17 03:24

我现在在做一个任务,但遇到麻烦了。请给我一些建议。我下面写的代码只返回了多个文件夹中的.txt文件名,而我想要的是打印出每个.txt文件的内容,并把它们保存在Excel的不同行里。这些.txt文件的内容都是数字。

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'

2 个回答

2

如果你想写入文件内容,应该这样做:

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

这样可以确保在你读完文件后,它会被正确关闭。这会释放系统资源。

2

你看到文件名是因为你自己写的。L里面存的是文件名。(我觉得L = file.strip()这行代码其实没必要。)

如果你想读取文件的内容,应该这样写:L = open(os.path.join(dir, file), "r").read()

撰写回答