文本挖掘:在Python中读取文本文件
我在使用R的时候,可以一次性读取一个文件夹里的很多文本文件。不过我刚开始学习Python。当我用命令 file = open('c:/txt/Romney', 'r')
想要打开Romney文件夹里的所有文本文件时,我发现我必须一个一个地读取里面的文本文件,不能像在R里那样一次性读取所有文件。有没有什么建议?
2 个回答
2
除了Dave Yarwood的回答,如果你真正想做的是把文件连接在一起,你可以这样做:
from os import listdir
from os.path import isfile, join
from itertools import chain
path = "C:/txt/Romney"
files = [open(f) for f in listdir(path) if isfile(join(path,f))]
for line in chain(*files):
do_something_with(line)
(这只是为了好玩,因为我之前从来没有用过 itertools.chain
来把文件串联起来)
5
在像Python这样的编程语言中,你需要用一个for
循环来逐个读取每个文件的内容。
(相关内容: 如何在Python中列出一个目录下的所有文件)
from os import listdir
from os.path import isfile, join
path = "C:/txt/Romney"
files = [ f for f in listdir(path) if isfile(join(path,f)) ]
for file in files:
with open file as f:
text = f.read()
do_something_with(text)