在我的函数中将多个 csv 文件导入 pandas 并导入

Import multiple csv files into pandas in my function and importing

我想在 import_data.py 中创建我的函数并从文件夹加载一些 csv 文件。在我的第二个文件中没有调用该函数。但是,我无法弄清楚。我无法正确编写函数。这是我目前所拥有的:

文件import_data.py:

import pandas as pd
    """Load csv files to DataFrame"""

def data_load():
    train_data = pd.read_csv("data/train_data.csv", header=None)
    test_data = pd.read_csv("data/test_data.csv", header=None)
    train_labels = pd.read_csv("data/train_labels.csv", header=None)

train_data, test_data, train_labels = data_load()
data = [train_data, test_data, train_labels]
names = ["train_data", "test_data", "train_labels"]

return [train_data, test_data, train_labels]

第二个文件:

from import_data import *
print(train_data.shape)

NameError: name 'train_data' is not defined

return 语句应该是函数的一部分,否则函数不会 return 任何东西:

import_data.py:

import pandas as pd
    """Load csv files to DataFrame"""

def data_load():
    train_data = pd.read_csv("data/train_data.csv", header=None)
    test_data = pd.read_csv("data/test_data.csv", header=None)
    train_labels = pd.read_csv("data/train_labels.csv", header=None)

    return [train_data, test_data, train_labels]

现在这个文件不会神奇地 运行。您必须调用函数 data_load 才能执行它。因此,在您的主 python 文件(您要执行的文件)中,您应该包括:

from import_data import *

train_data, test_data, train_labels = data_load()
print(train_data.shape)

现在 train_data 已在您的主 python 文件中定义,它不会在 print(train_data.shape) 上抛出 NameError