Skip to main content
 首页 » 编程设计

python之Pandas .errors.EmptyDataError : No columns to parse from file

2025年05月04日9mfrbuaa

我创建了一个列表数据类型,它具有三个文件夹的路径,每个文件夹都有很多 .txt 文件。 我正在尝试通过将其设为 Pandas 数据框来处理文件夹中的每个文件,但我收到了所列的错误。

代码-

for l in list:  
    for root, dirs, files in os.walk(l, topdown=False): 
        for name in files: 
            #print(os.path.join(root, name)) 
 
            df = pd.read_csv(os.path.join(root, name))    

错误-

Traceback (most recent call last): 
      File "feature_drebin.py", line 18, in <module> 
        df = pd.read_csv(os.path.join(root, name)) 
      File "E:\anaconda\lib\site-packages\pandas\io\parsers.py", line 709, in parser_f 
        return _read(filepath_or_buffer, kwds) 
      File "E:\anaconda\lib\site-packages\pandas\io\parsers.py", line 449, in _read 
        parser = TextFileReader(filepath_or_buffer, **kwds) 
      File "E:\anaconda\lib\site-packages\pandas\io\parsers.py", line 818, in __init__ 
        self._make_engine(self.engine) 
      File "E:\anaconda\lib\site-packages\pandas\io\parsers.py", line 1049, in _make_engine 
        self._engine = CParserWrapper(self.f, **self.options) 
      File "E:\anaconda\lib\site-packages\pandas\io\parsers.py", line 1695, in __init__ 
        self._reader = parsers.TextReader(src, **kwds) 
      File "pandas/_libs/parsers.pyx", line 565, in pandas._libs.parsers.TextReader.__cinit__ 
    pandas.errors.EmptyDataError: No columns to parse from file 

.txt文件

请您参考如下方法:

我遇到了同样的问题,答案在上面: “如果您正在读取刚刚创建的 csv,也会出现此错误”

我在其他地方创建了一个我无法控制的垃圾 csv 文件。 该文件以两个无意义的(至少对我来说没用)行开始,两个空行,然后是带有短语而不是单词的列标题的数据。即每个列标题都有多个带空格的单词。对于任何有数据背景的人来说,这是一个很大的否定。如果您的列标题中有空格,那么您就是在问问题;始终使用单个词。

我对这个 csv 的计划是打开它,删除前五行并将剩余的行写入我已经写入新标题行的新创建的 csv。问题是,当我尝试打开数据框时,pandas 抛出了“空数据错误”。

对源文件和目标文件的检查表明它们是完美的,可以在记事本或 Excel 中打开,我能找到的所有答案都涉及检查文件路径、分隔符、编码等。

在我看来,python 并没有遵循我们的逐行指令,而是在早期的指令尚未完成时去做其他事情——多任务处理。 为了证明我的观点,我注释掉了写入新文件的行(它已经在之前的运行中创建)并且 df 完美地出现了。