Я бы генерировал исходный файл Python каждый раз, когда изменялись данные, и имел бы этот файл, состоящий в основном из словаря.Это предполагает, что поиск выполняется по символу, и что данные легко помещаются в память.
data = {
"AAPL": ("Jan-1-1985", "Dec-27-2010"),
...
}
Для массового обновления даты окончания используйте pprint.pprint, перезаписывая весь файл.
Редактировать : Чтобы проиллюстрировать, как можно записать такой файл, вот скрипт, который заполняет его случайными данными
import random, string, pprint
def randsym():
res =[]
for i in range(4):
res.append(random.choice(string.uppercase))
return ''.join(res)
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
days = range(1,29)
years = range(1980,2010)
def randdate():
return "%s-%s-%s" % (random.choice(months),
random.choice(days),
random.choice(years))
data = {}
for i in range(15000):
data[randsym()] = (randdate(), "Dec-27-2010")
with open("data.py", "w") as f:
f.write("data=")
f.write(pprint.pformat(data))
Чтобы получить доступ к данным, выполните from data import data
.