Python中文
首页
教程
问答
标签
搜索
登录
注册
从csv文件导入数据时出现问题,循环遍历tickers,从finviz.com抓取数据,然后导出到csv文件以进行更多分析
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我很难把所有的东西都整理好。我想(1)从csv文件中提取股票行情列表(2) 在finviz.com中遍历所有股票代码,以获取某些关键数据点(3) 将所有数据提取到另一个csv文件中进行更多分析。这是我到目前为止的代码</p> <pre><code>import pandas as pd from bs4 import BeautifulSoup as bs import requests import csv import time import datetime from datetime import datetime as dt Symbol = [] with open('shortlist.csv') as csvDataFile: csvReader = csv.reader(csvDataFile) for row in csvReader: Symbol.append(row[0]) def get_fundamental_data(df): for symbol in df.index: try: url = 'http://finviz.com/quote.ashx?t=' + symbol.lower() soup = bs(requests.get(url).content, features='html5lib') for m in df.columns: df.loc[symbol, m] = fundamental_metric(soup, m) except Exception, e: print (symbol, 'not found') return df def fundamental_metric(soup, metric): return soup.find(text=metric).find_next(class_='snapshot-td2').text metric = [ # 'Inst Own', # 'Insider Own', 'Price', 'Shs Outstand', 'Shs Float', 'Short Float', 'Short Ratio', 'Book/sh', 'Cash/sh', 'Rel Volume', 'Earnings', 'Avg Volume', 'Volume', ] df = pd.DataFrame(index=symbol, columns=metric) df = get_fundamental_data(df) print df df.to_csv('finviz_' + time.strftime('%Y-%m-%d') + '.csv') </code></pre> <p>附件是要导入的my shortlist.csv:<a href="https://i.stack.imgur.com/EdhMh.png" rel="nofollow noreferrer">enter image description here</a></p> <p>我得到的错误是: <a href="https://i.stack.imgur.com/5aldZ.png" rel="nofollow noreferrer">enter image description here</a></p> <p>我在Pycharm上使用python3</p> <p>结果应该是这样的: <a href="https://i.stack.imgur.com/E2moe.png" rel="nofollow noreferrer">enter image description here</a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您的“符号”定义在函数<code>get_fundamental_data()</code><br/> 不能在for循环或函数外使用“symbol”</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尝试将单元格与pythondocx合并
8 回答
尝试将卡的5个值传递给函数,但不起作用
3 回答
尝试将卷绑定到docker容器
5 回答
尝试将原始queryset转换为queryset时出错
7 回答
尝试将原始输入与函数一起使用
3 回答
尝试将参数传递给函数时,可以通过python中的“@app.route”
4 回答
尝试将变量mid脚本返回到我的模板
9 回答
尝试将变量从一个函数调用到另一个函数
8 回答
尝试将变量传递给一个名称与参数不同的函数是否更好?
7 回答
尝试将变量传递给函数内部的函数。Python
8 回答
尝试将变量作为参数传递
8 回答
尝试将变量作为命令
1 回答
尝试将变量旁边的数据从文本复制到csv时,python获取错误:
4 回答
尝试将变量输入到sql数据库中已创建的行中
8 回答
尝试将只有两个或更多重复元音的单词打印到文本文件中
1 回答
尝试将后缀(字符串)添加到列表中每个WebElement的末尾
1 回答
尝试将命令行输出保存到fi时出错
2 回答
尝试将唯一ASCII文件导入数据帧时出现分析错误
2 回答
尝试将回归程序从stata转换为python
5 回答
尝试将图像上的点投影到二维平面时打开CV通道
6 回答