股票每日交易资讯、三大法人资料(区分期货与选择权二类-依日期)模组化後,也把加权指数行情用get_and_save
取资料并且汇入资料库中吧。
本日程序码使用:market_info.py
将会改写:
这边只有制作一个class「daily_market_info
」,但是其中包含从API取得资料,以及下载好的档案取得资料。
要从网路,还是档案取得资料的关键是「来源」,这边制作了url
和path
两个参数在get_and_save()
功能中,让我们方便带入使用。
当path
没有资料,表示是使用url
的方式,也就是从网路取得资料,url
的位置可以指定,也可以使用预设值。如果path
有资料,就以这个为优先,但是没有预设值。
所以在get_and_save()
要辨别资料是否齐全,没有的话直接从网路来。
if url:
print("=资料从网路来(非预设)=")
r = self._get_csv_data(url)
else:
if path: # 代表是从档案来的
print("=资料从档案来=")
r = self._get_csv_data(path=path)
else:
print("=资料从网路来=")
r = self._get_csv_data()
最後取资料的时候,就要实作,因此要判断到底是走网路API,还是直接解档案:
if path is None:
if url:
self.url = url
csv = requests.get(self.url) # 从网路取得CSV档案
df = pandas.read_csv(StringIO(csv.text)) # 有header
else:
# 从CSV档取得资料,且编码为big-5
df = pandas.read_csv(path, encoding="big5")
测试时,分成URL API取资料,另一个是直接给路径
csv_data = daily_market_info()
r = csv_data.get_and_save()
if r:
print("success")
else:
print("False")
csv_data = daily_market_info()
csv_path = os.path.join(os.path.dirname(__file__), "每日市场成交资讯_202101.csv")
r = csv_data.get_and_save(path=csv_path)
if r:
print("success")
else:
print("False")
本来预计要做到讯号灯的模组化,结果还是取资料,看来只能明天把讯号灯模组化吧!
>>: [Day 23] Leetcode 494. Target Sum (C++)
如同「决定系数篇」所介绍,R^2的数字越趋近於1,模型能够解释的能力越强,那麽我们就是追寻更好的R^...
接下上集!!,我们已经完成layout,还有上传照片了。那麽接下来我们要做的就是把选取时间的日历叫...
我们常常帮客户维修电脑,因此收集了许多客户常会遇见的电脑故障问题,包含那些 电脑维修 零件有问题,以...
昨天我们已经透过 AWS Glue Crawler 自动建立 VPC Log 资料表,并且我们也看到...
上一篇介绍 firestore CRUD 的各种方式,今天要来介绍进阶的查询资料方式,利用条件去过滤...