如果一个符号不存在或已退出列表,则在提取多个符号时,数据读取器提示出错

2024-09-29 23:19:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个应用程序来跟踪输入到电子表格中的股票数据。 目前,我通过为每个符号调用pandas_datareader.tiingo.TiingoDailyReader使其工作。 数据读取器能够获取符号列表并一次提取这些符号的所有数据。 我更喜欢这样,因为我可以进行一次调用,然后查询它返回的数据帧

我遇到的问题是,当一个符号被删除或不存在时,这会导致整个调用失败,导致一个空数据帧。 我通过对照Tiingo支持的符号列表检查所有符号来解决这个问题。 但是,这并不完美,因为我遇到了一个实例,其中支持符号,但没有我请求的日期的数据

是否有办法一次调用所有符号,并让数据读取器跳过这些错误或不返回问题符号的数据

谢谢


Tags: 数据实例应用程序pandas列表错误符号读取器
1条回答
网友
1楼 · 发布于 2024-09-29 23:19:19

我认为您应该在运行数据采集之前检查符号以及开始和结束日期。该引用来自official reference

import urllib.request
import pandas as pd
import io

url = 'https://apimedia.tiingo.com/docs/tiingo/daily/supported_tickers.zip'
zip_tickers = urllib.request.urlopen(url).read()
zip_tick = io.BytesIO(zip_tickers)

with zipfile.ZipFile(zip_tick) as myzip:
    csv_data = myzip.extract('supported_tickers.csv')  

df = pd.read_csv(csv_data, sep=',')

df
    ticker  exchange    assetType   priceCurrency   startDate   endDate
0   000001  SHE Stock   CNY 2007-08-30  2020-09-11
1   000002  SHE Stock   CNY 2000-01-04  2020-09-11
2   000003  SHE Stock   CNY NaN NaN
3   000004  SHE Stock   CNY 2007-08-31  2020-09-11
4   000005  SHE Stock   CNY 2001-01-02  2020-09-11
... ... ... ... ... ... ...
87303   ZZK NYSE ARCA   Stock   USD 2020-07-22  2020-09-11
87304   ZZLL    OTCBB   Stock   USD 2017-09-26  2020-09-11
87305   ZZLLD   OTCBB   Stock   USD 2017-10-06  2017-10-30
87306   ZZZ NYSE ARCA   Stock   USD 2014-10-31  2020-09-11
87307   ZZZOF   PINK    Stock   USD 2017-09-22  2020-09-11
87308 rows × 6 columns

相关问题 更多 >

    热门问题