熊猫不进口吗? 'NameError:未定义全局名称'pandas''

Posted

技术标签:

【中文标题】熊猫不进口吗? \'NameError:未定义全局名称\'pandas\'\'【英文标题】:Is Pandas not importing? 'NameError: global name 'pandas' is not defined'熊猫不进口吗? 'NameError:未定义全局名称'pandas'' 【发布时间】:2015-10-21 16:56:27 【问题描述】:

我在这里遇到了一些错误,但我认为这是由于 pandas 没有导入,因为它是灰色的。如果这是问题,我将如何解决这个问题?

C:\Anaconda\python.exe C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py​​ Traceback(最 最近通话最后):文件 “C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py​​”,第 38 行,在 Key_Stats() 文件“C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py​​”,第 12 行,在 Key_Stats df = pandas.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio']) NameError: global name 'pandas' is not defined

进程以退出代码 1 结束

import pandas as pd
import os
import time
from datetime import datetime

#location of the data files
path = 'C:\Users\nickd\Documents\SKLEARN-STOCKS'
#what specific field do you want to grab and in all files in that directory
def Key_Stats(gather="Total Debt/Equity (mrq) "):
    statspath = path+'/_KeyStats'
    stock_list = [x[0] for x in os.walk(statspath)]
    df = pandas.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio'])

    for each_dir in stock_list[1:5]:
        each_file = os.listdir(each_dir)
        ticker = each_dir.split("//")[1]
        if len(each_file) >0:
            for file in each_file:

                date_stamp = datetime.strptime(file, '%Y%m%d%H%M%S.html')
                #unix_time = time.mktime(date_stamp.timetuple())
                print(date_stamp,unix_time)
                full_file_path = each_file+'/'+file
                #print(full_file_path)
                source = open(full_file_path, 'r').read()
                #print(source)
                try:
                    value = float(source.split(gather+':</td><td class="yfnc_tabledata1">')[1].split('</td>')[0])
                    df = df.append('Date':date_stamp,'Unix':unix_time,'Ticker':ticker,'DE Ratio':value,, ignore_index = True)
                except Exception as e:
                    pass

                #print(ticker+":",value)

    save = gather.replace(' ','').replace(')','').replace('(','').replace('/',''+('.csv')
    print(save)
    df.to_csv(save)

                #time.sleep(15)

Key_Stats()

【问题讨论】:

【参考方案1】:

您将 pandas 导入为 pd。要么自始至终引用它,要么从导入中删除as pd

(另外,永远不会except Exception... pass。你会吞下各种各样的错误,但永远不知道它们是什么。如果你不打算处理它们,不要抓住它们完全没有。)

【讨论】:

【参考方案2】:

您已将其导入为

import pandas as pd

并调用

#pandas
df = pandas.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio'])

你可以改变

import pandas as pdimport pandasdf = pandas.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio'])df = pd.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio'])

编辑:

错误是由于缺少)

save = gather.replace(' ','').replace(')','').replace('(','').replace('/',''+('.csv'))

【讨论】:

您好,谢谢!我对 python (和 HTML 的外部编码)真的很陌生,所以很欣赏这个例子。我制作了“pd.DataFrame”,但没有收到以下错误。这让我感到困惑,因为我认为我在上面设置了保存功能。 C:\Anaconda\python.exe C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py​​ 文件“C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py​​” , line 36 print(save) ^ SyntaxError: invalid syntax Process finished with exit code 1 谢谢!!我的眼睛很糟糕 :) 现在可以了! @NickDuddy 如果这解决了您的问题,您可以通过勾选正确的符号来接受答案

以上是关于熊猫不进口吗? 'NameError:未定义全局名称'pandas''的主要内容,如果未能解决你的问题,请参考以下文章

python:NameError:全局名称'...'未定义[重复]

NameError:未定义全局名称“QColor”

NameError:未定义全局名称“lower”

NameError:未定义全局名称

DD.close() NameError: 全局名称 'DD' 未定义

NameError:未定义全局名称“myLogFile”