我正在运行下面的脚本来在纳斯达克网站上搜索特定时间内的公司名单。脚本应该下载download文件夹中的文件,使用公司名称重命名该文件,并将其传输到目标文件夹。最后,它应该删除最初下载的文件并继续其循环。
一切看起来都很好--第一个文件被下载、重命名并移动到目标文件,但是当进行第二个下载时,它会返回以下错误:
FileNotFoundError:文件b'C:\Users\Filippo Sebastio\Downloads\HistoricalQuotes.csv‘不存在
知道为什么吗?
from selenium import webdriver
import os
import pandas as pd
import time
import glob
def pull_nasdaq_data(tickers, save_path):
driver = webdriver.Chrome(executable_path=r'C:\Users\Filippo Sebastio\Desktop\chromedriver.exe')
for ticker in tickers:
site = 'http://www.nasdaq.com/symbol/' + ticker + '/historical'
driver.get(site)
# Choose 10 year data from a drop down
data_range = driver.find_element_by_name('ddlTimeFrame')
for option in data_range.find_elements_by_tag_name('option'):
if option.text == '18 months':
option.click()
break
time.sleep(5)
driver.find_element_by_id('lnkDownLoad').click()
time.sleep(5)
data = pd.read_csv(r'C:\Users\Filippo Sebastio\Downloads\HistoricalQuotes.csv')
data['company'] = ticker
file_loc = save_path + ticker + '.csv'
data.to_csv(file_loc, index=False)
os.chdir(r'C:\Users\Filippo Sebastio\Downloads')
for f in glob.glob("Historical*.csv"):
os.remove(f)
print("Downloaded: ", ticker)
time.sleep(5)
save_path = r'C:\Users\Filippo Sebastio\Desktop\Stock'
tickers = ['mmm', 'tesla', 'pcb']
pull_nasdaq_data(tickers, save_path)发布于 2018-07-25 04:49:43
如前所述,代码是一个问题。当代码没有下载时,就只剩下下载目录中的单个HistoricalQuotes.csv了,当它被删除时,就没有什么可以替换的了,它会抛出文件找不到错误。我添加了一个下载目录,我认为这可能会有所帮助。
def pull_nasdaq_data(tickers, save_path, download_dir):
driver = webdriver.Chrome()
for ticker in tickers:
site = 'http://www.nasdaq.com/symbol/' + ticker + '/historical'
driver.get(site)
# Choose 10 year data from a drop down
data_range = driver.find_element_by_name('ddlTimeFrame')
for option in data_range.find_elements_by_tag_name('option'):
if option.text == '18 months':
option.click()
break
time.sleep(5)
driver.find_element_by_id('lnkDownLoad').click()
time.sleep(1)
data = pd.read_csv(download_dir + 'HistoricalQuotes.csv')
data['company'] = ticker
file_loc = save_path + ticker + '.csv'
data.to_csv(file_loc, index=False)
os.remove(download_dir + 'HistoricalQuotes.csv')
print("Downloaded: ", ticker)
time.sleep(5)
save_path = '/Users/tetracycline/'
download_dir = '/Users/tetracycline/Downloads/'
tickers = ['mmm', 'tsla']
pull_nasdaq_data(tickers, save_path, download_dir)https://stackoverflow.com/questions/51509600
复制相似问题