【发布时间】:2019-08-16 13:41:02
【问题描述】:
我有 2 个文件。 一个叫file.py,另一个叫secondfile.py。
在 file.py 我目前有代码:
def getTrain(data):
trainList = []
for list in data:
for train in list['HorarioDetalhe']:
trainDict = {}
trainDict['id'] = train['ID']
trainDict['origin'] = train['EstacaoOrigem']['Nome']
trainDict['destiny'] = train['EstacaoDestino']['Nome']
trainDict['operator'] = train['Operador']['Nome']
trainDict['status'] = train['EstadoComboio']['Nome']
trainDict['arrivalTime'] = train['HoraChegada']
trainList.append(trainDict)
getDelayedCSV(trainList)
def getDelayedCSV(trainList)
file = open('delayedTrainsCSV.csv', 'w')
file.close() #truncate
header = False #removing headers
word = 'Atrasado'
for train in trainList:
if word in train['status']:
df = pd.DataFrame({'ID' : [train['id']],
'Origem' : train['origin'],
'Destino' : train['destiny'],
'Operador' : train['operator'],
'Estado' : train['status'],
'Chegada' : train['arrivalTime']})
df.to_csv('delayedTrainsCSV.csv', index = False, mode='a', header = header)
现在我想在 secondfile.py 中使用 getDelayedCSV()。 secondfile.py 看起来像这样。
from file import *
def counter():
data = list(getRequest())
getTrain(data)
getDelayedCSV(trainList)
但是当我执行 secondfile.py 时,它给了我一个错误NameError: name 'trainList' is not defined。
也许是因为我没有返回trainList,而是像这样调用函数getDelayedCSV(trainList)?
【问题讨论】:
-
trainList是函数getTrain中的一个局部变量。因此,在该函数之外,您的脚本将看不到它。
标签: python python-3.x