文本挖掘:用Python读取文本文件

时间:2014-06-16 20:44:08

标签: python

当我使用R时,我可以读取文件夹中包含一次的许多文本文档。 但是,我刚开始学习Python。当我使用命令:file = open('c:/txt/Romney', 'r'),试图打开该Romney文件夹中包含的所有文本文件时,我发现我必须逐个阅读文本文件,我不能像在R中一样读取所有文件有什么建议吗?

2 个答案:

答案 0 :(得分:5)

在像Python这样的语言中,您需要使用for循环来逐个读取每个文件的内容。

(相关:How to list all files of a directory in 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)

答案 1 :(得分: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将文件串起来)