我手头有以下网站,正在尝试从中提取历史数据。 http://regsho.finra.org/CNMSshvol20180801.txt
我最初的方法如下:
import requests
import pandas as pd
import io
url ="http://regsho.finra.org/CNMSshvol20180801.txt"
response_data = requests.get(url).content
dfRaw= pd.read_csv(io.BytesIO(response_data))
输出如下,需要完全返工才能使用。即列定义错误,索引不好看等
Out[72]:
Date|Symbol|ShortVolume|ShortExemptVolume|TotalVolume|Market
20180801|A|127212|14|658064|Q N
20180801|AA|514915|817|1549350|Q N
20180801|AABA|975797|370|3608955|Q N
20180801|AAC|43229|0|93929|Q N
20180801|AADR|3213|0|9620|Q N
...
20180801|ZUMZ|85580|0|150959|Q N
20180801|ZUO|152012|100|293146|Q N
20180801|ZYME|6706|0|28133|Q N
20180801|ZYNE|85036|0|202011|Q N
7676 NaN
因为我在 finra 上迭代了多年,所以我不想在 pd.read_csv() 之后处理 Pandas,并且在提取数据和获得干净的数据帧方面尽可能高效。
如何在不更改此代码后的数据帧的情况下实现此目的?我的方法合适吗?我应该查看不同的库,比如 beautifulsoup 还是其他网页抓取的库?
答案 0 :(得分:1)
这就够了:
import pandas as pd
df= pd.read_csv('http://regsho.finra.org/CNMSshvol20180801.txt', sep='|')