熊猫不进口吗? '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 pd
到 import pandas
或
df = 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:全局名称'...'未定义[重复]