Python:如何读取多个文件夹中的所有文本文件内容并保存到一个Excel文件中
我现在在做一个任务,但遇到麻烦了。请给我一些建议。我下面写的代码只返回了多个文件夹中的.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()
。