【发布时间】:2020-11-01 11:39:42
【问题描述】:
我需要你的帮助,拜托! 我不是程序员,但我的论文需要这些东西。
我的问题是:我有很多 .txt 文档都保存在一个文件夹中:
folder_path = "path/to/folder"
listOfFiles = os.listdir(folder_path)
data = glob.glob(os.path.join(folder_path, '*.txt'))
allLines = []
我已经将我的文件名存储在一个列表中,并将文件夹路径与每个文件的路径连接起来。并创建了一个空列表,最后应该保存文件的内容。
我想做什么:
for files in data:
with codecs.open(files, 'r','utf-8-sig') as f:
text_ = f.read()
allLines.append(text_.strip())
print (text_)
print (len(text_))
continue
从数据文件列表中打开每个文件,读取它并将内容保存在新列表中。当我尝试使用下面的代码执行此操作时,它仅将第一个文件的内容保存在文件夹中。我知道问题是,我只能定义一次名称“text_”,这就是它不起作用的原因。但是我到处阅读了很多文章,找不到解决我的问题的方法。
希望有人可以帮助我。非常感谢!
编辑:我需要这个来自 R 的 Python 语言代码:
folder<-"E:/Amadeus für MA/probe"
file_list<- list.files(path=folder, pattern="*.txt")
for (i in 1:length(file_list)){
assign(file_list[i],
read.table(paste(folder,file_list[i], sep='/'),fill = TRUE,sep = "#",fileEncoding = "UTF-8")
)}
【问题讨论】:
-
@JuliaLeschik--你确定 allLines 包含不正确的结果吗?
-
嘿 :) 是的,它只显示了我目录中第一个 txt 文件的内容。列表中的 3 次。我可能知道问题出在哪里:如果我写“for files in data”,python 只会使用我的数据列表中的第一个字符串,但我不知道为什么。感谢您的帮助:)
-
你是对的。该代码运行完美。我的文件夹中只有 3 倍相同的数据:D
标签: python file directory file-read