Я начинающий питон, ситуация такова:
In test.py :
import numpy as np
import pandas as pd
from numpy import *
def model(file):
import numpy as np
import pandas as pd
data0 = pd.ExcelFile(file)
data = data0.parse('For Stata')
data1 = data.values
varnames = list(data)
for i in range(np.shape(data)[1]):
var = varnames[i]
exec(var+'=np.reshape(data1[:,i],(2217,1))')
return air
воздух - это одно из «имен»
Теперь я запускаю следующее в блокноте jupyter :
file0 = 'BLPreadydata.xlsx'
from test import model
model(file0)
ошибка, которую я получаю:
NameError: имя 'air' не определено
РЕДАКТИРОВАТЬ: я пытался зафиксировать ошибку, на самом деле она пришла с
exec(var+'=np.reshape(data1[:,i],(2217,1))')
почему-то это не работает, когда я вызываю функцию, но работает, когда я запускаю ее вне функции.
Примечание:
Кто-то сделал это в MATLAB:
vals = [1 2 3 4]
vars = {'a', 'b', 'c', 'd'}
for i = vals
eval([vars{i} '= vals(i)'])
end