关于python:尝试将多个文本文件读入单个pandas数据帧时发生FileNotFoundError

FileNotFoundError occured when tried to read multiple text files into single pandas dataframe

我试图将多个文本文件从本地目录读取到一个熊猫数据帧中。由于原始文本文件带有额外的文件扩展名,所以我重新命名了它,然后我尝试通过read_csvconcatpandas将所有文本文件读取到单个数据帧中。问题是,我可以用panda读取单个文本文件,但当我试图将本地目录中的文本文件列表读取到单个数据帧中时,出现以下错误:

1
2
3
4
5
6
7
8
9
10
folder = 'fakeNewsDatasets[Rada]/fakeNewsDataset/fake'
allfiles=os.listdir(folder)
print(allfiles)

['biz01.txt',
 'biz02.txt',
 'biz03.txt',
 'biz04.txt',
 'biz05.txt',
 'biz06.txt']

然后我尝试将这些文本文件读取到单个数据帧中,如下所示:

1
2
3
4
dfs=pd.concat([pd.read_csv(file, header = None, sep = '
'
, skip_blank_lines = True) for file in allfiles], axis=1)

*

FileNotFoundError: [Errno 2] File b'biz02.txt' does not exist:
b'biz02.txt'
*

我不明白为什么会出现这个问题,因为将单个文本文件读取到熊猫数据帧对我来说效果很好。

1
2
3
4
df = pd.read_csv('biz01.txt', header = None, sep = '
'
, skip_blank_lines = True)
df=df.T
df.columns = ['headline', 'text']

有人能帮我解决这个问题吗?如何修复此错误?有更好的主意吗?


使用glob()会更容易:

1
2
import glob
allfiles=glob.glob('C:\\folder1\\*.csv')

否则,在读取pd.read_csv()中的文件时,可能需要在执行for file in allfiles时与file连接路径。