首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:引入if子句后的NameError

Python:引入if子句后的NameError
EN

Stack Overflow用户
提问于 2021-04-30 19:34:27
回答 1查看 68关注 0票数 0

我使用以下代码将.csv文件的列附加到pandas Dataframe/Series对象的列表中

代码语言:javascript
复制
process_time_dfs = []
status_dfs = []

for string in filestrings:
    
    #read in command with apropriate delimiter and engine starting from a nmc-specific line in the excel doc
    EIS_TS_csv = pd.read_csv(DATA_DIR.joinpath(string), engine = 'python', delimiter = ';', skiprows = startposition)

    #drop [descriptor] row
    EIS_TS_csv.drop(index = 0, axis = 0, inplace = True)

    #add to dataframe
    status_dfs.append(EIS_TS_csv['Status'])
    process_time_dfs.append(EIS_TS_csv['Progr. Zeit'].str.replace('.', '').astype(float))

此代码适用于大多数.csv文件,但不适用于某些特定文件,因为其中的列'Progr. Zeit'不包含string对象。所以我想我可以用if子句使代码适应这种情况:

代码语言:javascript
复制
process_time_dfs = []
status_dfs = []

for string in filestrings:
    
    #read in command with apropriate delimiter and engine starting from a nmc-specific line in the excel doc
    EIS_TS_csv = pd.read_csv(DATA_DIR.joinpath(string), engine = 'python', delimiter = ';', skiprows = startposition)

    #drop [descriptor] row
    EIS_TS_csv.drop(index = 0, axis = 0, inplace = True)

    #add to dataframe
    status_dfs.append(EIS_TS_csv['Status'])
    
    if EIS_TS_csv['Progr. Zeit'].dtype == object:
        process_time_dfs.append(EIS_TS_csv['Progr. Zeit'].str.replace('.', '').astype(float))
    else:
        process_time_dfs.append(EIS_TS_csv['Progr. Zeit'].astype(float))

在我看来,这似乎是一个很小的更改,应该可以很好地工作,但它会产生以下错误:

代码语言:javascript
复制
>>> process_time_dfs.append(EIS_TS_csv['Progr. Zeit'].str.replace('.', '').astype(float))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'process_time_dfs' is not defined

我不知道这是怎么发生的,因为名字不被识别的列表是以与以前相同的方式定义的。请帮我理解这里出了什么问题!

EN

回答 1

Stack Overflow用户

发布于 2021-04-30 21:31:01

我认为你需要改变你输入路径的方式。

代码语言:javascript
复制
path = r'/usr/local/bin/python3 "/Users/gnthr/Desktop/EISTSAnalysisCalendric.py"'

我只是添加了path,使其成为一个变量。我不知道你这样做是为了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67333170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档