尝试将多个文本文件读取到单个pandas数据框时发生了FileNotFoundError错误。

7 浏览
0 Comments

尝试将多个文本文件读取到单个pandas数据框时发生了FileNotFoundError错误。

我尝试将一个本地目录中的多个文本文件读取到一个单独的pandas dataframe中。由于原始文本文件带有额外的文件扩展名,我首先重命名了它们,然后尝试使用pandas的read_csvconcat将所有文本文件读取到单个dataframe中。问题是,我可以使用pandas读取单个文本文件,但是当我尝试从本地目录中读取一系列文本文件到单个dataframe时,出现了以下错误:\n

folder = 'fakeNewsDatasets[Rada]/fakeNewsDataset/fake'
allfiles=os.listdir(folder)
print(allfiles)
['biz01.txt',
 'biz02.txt',
 'biz03.txt',
 'biz04.txt',
 'biz05.txt',
 'biz06.txt']

\n然后我尝试按照以下方式将这些文本文件读入单个dataframe中:\n

dfs=pd.concat([pd.read_csv(file, header = None, sep = '\n', skip_blank_lines = True) for file in allfiles], axis=1)
*

\n

\nFileNotFoundError: [Errno 2] File b\'biz02.txt\' does not exist:\n b\'biz02.txt\'\n *\n

\n我不明白为什么会出现这个问题,因为我可以成功将单个文本文件读取到pandas dataframe中。\n

df = pd.read_csv('biz01.txt', header = None, sep = '\n', skip_blank_lines = True)
df=df.T
df.columns = ['headline', 'text']

\n有人可以帮我解决这个问题吗?我该如何解决这个错误?还有更好的方法吗?

0
0 Comments

问题:将多个文本文件读入单个pandas数据框时出现FileNotFoundError。

原因:出现FileNotFoundError的原因是指定的文件路径不存在或无法访问。

解决方法:需要确认以下几个方面:

1. 确保指定的文件路径正确,包括文件夹路径和文件名。

2. 确保指定的文件路径中不包含任何非法字符或特殊字符。

3. 确保指定的文件路径对于当前用户具有读取权限。

4. 确保指定的文件路径中的文件确实存在。

5. 如果需要读取多个文件,可以使用os.walk()函数遍历文件夹中的所有文件,并使用pandas的read_csv()函数逐个读取文件并拼接到一个数据框中。

以下是一个示例代码,演示了如何使用os.walk()和pandas来读取多个文本文件并合并到一个数据框中:

import os
import pandas as pd
data_set = pd.DataFrame()
# 使用os.walk()遍历文件夹中的所有文件
for root, dirs, files in os.walk("文件夹路径"):
    for file in files:
        # 判断文件是否以'.txt'结尾
        if file.endswith('.txt'):
            # 使用pandas的read_csv()函数读取单个文件,并将其拼接到数据框中
            df = pd.read_csv(root + "/" + file, header=None)
            data_set = pd.concat([data_set, df])
# 将合并后的数据框保存为一个新的文本文件
data_set.to_csv("输出文件路径", index=False, header=False)

注意事项:

- 请将"文件夹路径"替换为实际的文件夹路径。

- 请将"输出文件路径"替换为实际的输出文件路径。

- 确保文件夹路径和输出文件路径的格式正确,并确保具有对应的读写权限。

通过以上步骤,即可解决FileNotFoundError并成功将多个文本文件读取到单个pandas数据框中。

0
0 Comments

问题出现的原因是在尝试将多个文本文件读取到单个pandas dataframe时出现了FileNotFoundError。问题的解决方法是使用glob()函数来实现。具体操作如下:

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

如果文件位于嵌套文件夹中,则需要在使用pd.read_csv()函数读取文件时使用join()函数将路径与文件名拼接起来。如果路径类似于"C:\Users\me\PycharmProjects\myProj\source\data\fakeNewsDataset\fake",那么上述代码会返回一个空列表。

如果想要让该解决方法适用于子文件夹中的文件,可以参考stackoverflow.com/questions/15580716/…中的方法。如果这不是你所问的问题,请提出一个新的问题,因为在这里我没有看到你提到子文件夹的情况。

0