【问题标题】:Name Error when getting variable from another define function to be read in another define function in python3从另一个定义函数获取变量以在python3中的另一个定义函数中读取时出现名称错误
【发布时间】:2017-08-15 02:38:46
【问题描述】:

我不知道如何解决我遇到的问题,我该如何解决?

我正在使用的 python 代码:

import plotly
import plotly.plotly as py
import plotly.graph_objs as go
import plotly.figure_factory as FF
import numpy as np
from datetime import date,time,datetime
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt

def readcsv(x): #def function to read csv files based on input below
    Data = pd.read_csv(x, parse_dates=['Time_Stamp'], infer_datetime_format=True)
    Data['Date'] = Data.Time_Stamp.dt.date 
    Data['Time'] = Data.Time_Stamp.dt.time 

    Data['Time_Stamp'] = pd.to_datetime(Data['Time_Stamp']) 
    print(Data[1:6])

readcsv('MainD.csv')

def selTimestamprange(dtStart, dtEnd, Data):
        timestamprange = (Data['Time_Stamp'] > dtStart) & (Data['Time_Stamp'] <= dtEnd)
        TimeRange = Data.loc(timestamprange)
        TimeRange.plot(x='Time_stamp', y='AC_Input_Current', style='-', color='black')

date_string_start = '2017-06-13 16:00:00'
date_string_end = '2017-06-13 16:40:00'
dtStart = datetime.strptime(date_string_start, '%Y-%m-%d %H:%M:%S')
dtEnd = datetime.strptime(date_string_end,'%Y-%m-%d %H:%M:%S')

selTimestamprange(dtStart, dtEnd, Data)

我的错误:

NameError Traceback(最近调用 最后)在() 10 #print(type(dtStart)) 12 selTimestamprange(dtStart, dtEnd, 数据)

NameError:名称“数据”未定义

【问题讨论】:

  • DatareadcsvselTimestamprange 函数中的局部变量,因此您不能在这些函数之外使用

标签: python python-3.x csv


【解决方案1】:

Data是局部变量,只能在函数readcsv(x)中使用,你可以在函数中返回它并将结果赋值给变量Data,然后你可以使用变量Data。像这样:

def readcsv(x): #def function to read csv files based on input below
    Data = pd.read_csv(x, parse_dates=['Time_Stamp'], infer_datetime_format=True)
    Data['Date'] = Data.Time_Stamp.dt.date 
    Data['Time'] = Data.Time_Stamp.dt.time 

    Data['Time_Stamp'] = pd.to_datetime(Data['Time_Stamp']) 
    print(Data[1:6])
    return Data

Data = readcsv('MainD.csv')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    相关资源
    最近更新 更多