def cacheData(self, data_specification):
'''
Cache Kepler data locally
@param data_specification: List of kepler IDs
'''
kid_list = data_specification
data_location = DataFetcher.getDataLocation('kepler')
if data_location == None:
data_location = os.path.join(os.path.expanduser('~'),'.skdaccess','kepler')
os.makedirs(data_location, exist_ok=True)
data_location = os.path.join(data_location, 'kepler_data.h5')
DataFetcher.setDataLocation('kepler', data_location)
store = pd.HDFStore(data_location)
missing_kid_list = []
for kid in kid_list:
if 'kid_' + kid not in store:
missing_kid_list.append(kid)
if len(missing_kid_list) > 0:
print("Downloading data for " + str(len(missing_kid_list)) + " star(s)")
missing_kid_data = self.downloadKeplerData(missing_kid_list)
for kid,data in missing_kid_data.items():
store.put('kid_' + kid, data)
store.close()
评论列表
文章目录