Python Forum

Full Version: Series object error message
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

I am trying to create data frame of Share prices based on data provided by vendor. I am getting an error message "'Series' object has no attribute 'close'" Can you please help me with this issue ?

import pandas as pd
from pandas import DataFrame
import quandl
import datetime as dt
quandl.ApiConfig.api_key =  
stock_list = pd.read_csv(r"F:\Abhay_New\Abhay\Python\Project\SHARADAR_SF1.csv")
end_date = dt.date.today()
diff_year = dt.timedelta(days=365)
start_date = end_date - diff_year
path = (r"F:\Tradepoint\MyMkt")
 
for i in range(len(stock_list)):
    data = quandl.get_table('SHARADAR/SEP', date={'gte':start_date, 'lte':end_date}, ticker=stock_list.iloc[i])
    if len(data)>1:
        dict = {'Date':data['date'],'OPEN':data['open'],'HIGH':data['high'],'LOW':data['low'],'CLOSE':data['close'],'VOLUME':data['volume']}
        final_data = pd.DataFrame(dict,columns = ['Date','OPEN','HIGH','LOW','CLOSE','VOLUME'])
        final_data.to_csv(path + '\\' + stock_list.iloc[i] + '.csv', index = False, header = False)
        print(final_data).head()

Error:
AttributeError: 'Series' object has no attribute 'close'
Unfortunately, I do not have a Quandl account and cannot be bothered to set one up. Could you perhaps output the data variable or a sample of rows so that we can see its structure.

As per the error message, it seems like the returned object is a Series, not a DataFrame as seems to be implied from your code.

One word of caution on an unrelated topic, your assignment of a dictionary to a variable named dict will 'overwrite' the dict object. I would suggest using a different variable name.