【发布时间】:2019-09-28 10:46:44
【问题描述】:
我正在运行代码来下载数据并将它们保存在本地驱动器中。但是,我收到上述错误消息。请注意,最初我已将日期转换为不同的格式,在保存它们时我收到此错误消息。
你能帮我解决这个错误吗?
'''
进口quandl 导入操作系统 将熊猫导入为 pd 将日期时间导入为 dt 导入全局
如果 name == "main":
'Creating bucket to store missing data file.'
data_missing = []
New_date = []
'Defining a path to save CSV files after downloading and also deleting all csv file at one go.'
extension = 'csv'
path = "F:/Tradepoint/MyMkt/"
if not os.path.exists(path):
os.mkdir(path)
os.chdir(path)
csv_count = [forma for forma in glob.glob('*.{}'.format(extension))]
for csv_coun in range(len(csv_count)):
os.remove(r"F:/Tradepoint/MyMkt/" + csv_count[csv_coun][0:])
'Setting up quandl configuration, reading ticker list, setting up date for which data is going to get downloaded'
quandl.ApiConfig.api_key = 'Hba3CzgNnEa2LMxR14FA'
end_date = dt.date.today()
diff_year = dt.timedelta(days=3650)
start_date = end_date - diff_year
stock_list = pd.read_csv(r"F:\Abhay_New\Abhay\Python\Project\SHARADAR_SF1.csv")
'Looping through quandl website to download data and renaming them as per requirement.'
for stock_lis in range(len(stock_list)):
data = quandl.get_table('SHARADAR/SEP', date={'gte':start_date, 'lte':end_date}, ticker=stock_list.iloc[stock_lis])
sort_by_date = data.sort_values('date')
for sort_by_dat in range(len(sort_by_date['date'])):
Date = dt.date.strftime(sort_by_date['date'][sort_by_dat],'%d-%m-%Y')
New_date.append(Date)
if len(data)>1:
Date = pd.Series(New_date).rename('Date').astype(str)
OPEN = sort_by_date['open']
HIGH = sort_by_date['high']
LOW = sort_by_date['low']
CLOSE = sort_by_date['close']
VOLUME = sort_by_date['volume']
final_data = pd.concat([Date,OPEN,HIGH,LOW,CLOSE,VOLUME],axis=1)
stk = stock_list.iloc[sort_by_dat][0]
final_data.to_csv(str(path + stk + '.csv'), sep=',', index = False, header = False)
else:
data_missing.append(stock_list.iloc[sort_by_dat])
打印(data_missing)
'''
谢谢, 阿拜·多迪亚
【问题讨论】:
-
能否包含错误的完整堆栈跟踪?
-
@user2314737 跟踪添加到上述问题。你能调查一下吗。谢谢
-
您能展示来自
stock_list的样本吗?当您删除这里几乎所有的东西时,您能重现错误吗?我的意思是for i in range(stock_list): stock_list.iloc[0][1]应该已经失败了。而不是整个 for 循环。 -
@Quickbeam2k1 在 stock_list 目前我只有一个选项“A”,即股票名称。我想先尝试一个股票代码,所以我就这样做了。但是,我仍然收到一条错误消息。你能帮我解决这个问题吗?
-
再次,请显示一些数据。此外,您在访问
.iloc期间使用了某种链式索引。我认为这可能没有做你认为它应该做的事情。但同样,需要数据来验证
标签: python pandas dataframe python-datetime quandl