文本挖掘:在Python中读取文本文件

0 投票
2 回答
1807 浏览
提问于 2025-04-18 10:00

我在使用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)

撰写回答