Is Pandas not importing? 'NameError: global name 'pandas' is not defined'

25,612

Solution 1

You have imported it as

import pandas as pd

and calling

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

You could either change

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

edit:

error is due to missing )

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

Solution 2

You imported pandas as pd. Either refer to it as such throughout, or remove the as pd from the import.

(Plus, never ever ever do except Exception... pass. You'll swallow all sorts of errors and never know what they were. If you aren't going to handle them, don't catch them at all.)

Share:
25,612
Nick Duddy
Author by

Nick Duddy

Updated on July 31, 2020

Comments

  • Nick Duddy
    Nick Duddy almost 4 years

    I'm getting a few errors here but I think it's due to pandas not importing as it's greyed out. If that is the problem, how would I fix this?

    C:\Anaconda\python.exe C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py Traceback (most recent call last): File "C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py", line 38, in Key_Stats() File "C:/Users/nickd/Documents/SKLEARN-STOCKS/stock-mach.py", line 12, in Key_Stats df = pandas.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio']) NameError: global name 'pandas' is not defined

    Process finished with exit code 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()