首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:使用循环遍历电子表格的一列,将其插入url,然后保存数据。

Python:使用循环遍历电子表格的一列,将其插入url,然后保存数据。
EN

Stack Overflow用户
提问于 2021-05-22 13:40:07
回答 1查看 98关注 0票数 1

希望你们都能安全。

我正在尝试创建一个股票交易系统,它从电子表格中提取代码,在雅虎金融上搜索这些代码,然后提取,然后保存这些股票的历史数据,这样以后就可以使用了。

我让它在一个滴答器上运行得很好,但是当涉及到在for循环中执行时,我在概念上弄错了。

到目前为止,这就是我所知道的:

我有一个excel电子表格,其中有许多公司代码,格式如下:

代码语言:javascript
复制
Ticker    Name
WMT       Walmart
AMZN      Amazon
AAPL      Apple
CVS       CVS Health

在将这些内容读入变量后,我创建了以下系列:

代码语言:javascript
复制
p_ticker = p_data['Ticker']

我有一个简单的'webscraper‘,可以查看雅虎的财务状况,并为一个代码提取数据:

代码语言:javascript
复制
ticker = 'AAPL'
scrape_string = f"https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1=1480636740&period2=1606867140&interval=1d&events=history&includeAdjustedClose=true"

output = pd.read_csv(scrape_string)
output

我现在正试图使它对电子表格的内容起作用,而不是一个滴答器;这是我尝试过的:

代码语言:javascript
复制
for ticker in p_ticker:
    scrape_string = f"https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1=1480636740&period2=1606867140&interval=1d&events=history&includeAdjustedClose=true"
    ticker_data = {ticker:scrape_string}

    output = pd.read_csv(scrape_string)
    output

{'CVS': 'query1.finance.yahoo.com/v7/finance/download/…'}

知道如何使它在每一个循环中迭代并使字典正常工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-22 13:44:58

for tick in p_ticker的工作方式如下:p_ticker是一个列表,因此可以进行迭代。for tick就是这样做的--它接受第一件事,并将值tick设置为它。然后,在下一行中,您将有一个全新的变量ticker,并将其设置为p_ticker。但p_ticker是整个名单。

您只需要其中的一个值,您已经将其分配给了tick。因此,去掉ticker=p_ticker行,在scrape_string中使用tick而不是ticker

然后,当它到达循环的底部时,返回到顶部,并将tick设置为p_ticker中的下一个值,并再次执行。

此外,您的scrape_string行应该缩进for-循环中的其他所有内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67650148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档