NameError - «имя не определено» в пользовательской функции импорта файлов - PullRequest
0 голосов
/ 23 мая 2018

довольно новый для Python.У меня есть несколько пользовательских функций в моем скрипте Python, однако одна из них, которую я использую для импорта файлов, не совсем работает, и я получаю сообщение об ошибке.

NameError - имя 'имя файла' не определено '

Функция работает следующим образом:

def importdata(path,temp_file_name,dataset_name):
    temp_file_name = os.path.join('..', 'data', path)
    dataset_name = pd.read_csv(temp_file_name, index_col='time')
    var1, var2, var3, var4 = dataset_name.keys()

Когда я пытаюсь вызвать его, используя

importdata('File.csv',filename,datasetname)

, я получаю NameError в «filename».

Я пытался определить его в другом месте, глобально, используя класс, используя «имя файла» и т. Д., Но безрезультатно.Эта проблема, кажется, часто встречается, но ни одно из решений, которые я могу найти, кажется, не работает для меня.Возможно ли иметь такую ​​функцию для предоставленного кода, и если да, то как я могу заставить ее работать?

РЕДАКТИРОВАТЬ: Это работало, когда я не использовал пользовательскую функцию, но только

filename = os.path.join('..', 'data', 'File.csv') datasetname = pd.read_csv(filename, index_col='time') var1, var2, var3, var4 = datasetname.keys()

EDIT2: мне удалось заставить его работать сейчас, благодаря советам ниже.Рабочий код теперь выглядит следующим образом:

def importdata(*paths):
    for index, path in enumerate(paths):
       temp_file_name = os.path.join('..', 'data', path)
       data[index] = pd.read_csv(temp_file_name, index_col=' Time_Created')
       data[index].index = pd.to_datetime(data[index].index, unit='ms')

       global var1, var2, var3, var4
       var1, var2, var3, var4  = data[index].keys()
...