NameError:未定义名称“isfile”

2024-09-29 23:28:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个数据集,其中所有数据集都存储在一个文件夹中。 我昨天在任何问题上都使用了下面的代码,但它似乎不起作用:

> **> Error:**
> ---> 35 data = create_dataframe(paths)
> 
> <ipython-input-21-b5315aeab0d7> in create_dataframe(paths)
>      15     dataframes = {
>      16         (path, file): pd.read_csv(path + file + '.csv')
> ---> 17         for path in paths
>      18         for file in get_files_in_path(path)
>      19     }
> 
> <ipython-input-21-b5315aeab0d7> in <dictcomp>(.0)
>      16         (path, file): pd.read_csv(path + file + '.csv')
>      17         for path in paths
> ---> 18         for file in get_files_in_path(path)
>      19     }
>      20 
> 
> <ipython-input-21-b5315aeab0d7> in get_files_in_path(path)
>      11 
>      12     def get_files_in_path(path):
> ---> 13         return [f.split('.')[0] for f in listdir(path) if isfile(join(path, f))]
>      14 
>      15     dataframes = {
> 
> <ipython-input-21-b5315aeab0d7> in <listcomp>(.0)
>      11 
>      12     def get_files_in_path(path):
> ---> 13         return [f.split('.')[0] for f in listdir(path) if isfile(join(path, f))]
>      14 
>      15     dataframes = {
> 
> **NameError: name 'isfile' is not defined**

你能告诉我怎么修吗

代码:

from os import listdir
from os.path import join
import os

def create_dataframe(paths):

    def get_files_in_path(path):
        return [f.split('.')[0] for f in listdir(path) if isfile(join(path, f))]

    dataframes = {
        (path, file): pd.read_csv(path + file + '.csv')
        for path in paths
        for file in get_files_in_path(path)
    }

    df = pd.concat(dataframes, names=['path', 'file', '_'])    

    return df

在这个问题和答案之后,我也试着改变{},{},{},{},但没有任何改变


Tags: csvpathinforinputgetreturndef

热门问题