Код: Выделить всё
NAMES,QUANTITY
POME FRUITS,
APPLE,100
PEAR,200
STONE FRUITS,
APRICOT,50
FRUITS,
STONE FRUITS,1
POME FRUITS,2
Код: Выделить всё
NAME,PRICE
AAPLE,2
PEAR,3
APRICOT,1
PEAR,4
Код: Выделить всё
NAMES,VALUE
AAPLE,2
PEAR,3
POME FRUITS,800
APRICOT,1
STONE FRUITS,50
FRUITS,850
PEAR,4
POME FRUITS,1000
FRUITS,1050
«Категория», «Составные элементы», «Количество» как ниже
Код: Выделить всё
Category Constituents Quantity
POME FRUITS APPLE 100
POME FRUITS PEAR 200
STONE FRUITS APRICOT 50
FRUITS STONE FRUITS 1
FRUITS POME FRUITS 2
Чтобы обновить значения моей корзины с определенной частотой я полностью перечитываю CSV-файл с ценами и каждый раз восстанавливаю его в кадре данных.
Но я боюсь эффективности, потому что цены будут становиться все больше и больше.
1. Как я могу прочитать только новую строку в CSV-файле цен (т. е. второй CSV-файл) и, таким образом, избежать чтения всего CSV-файла каждый раз, когда цена компонента меняется?
Кроме того, я хочу избежать вычисления стоимости корзин КОСТОЧНЫЕ ФРУКТЫ и СЕМЯКОВЫЕ ФРУКТЫ, каждый раз мне придется вычислять стоимость корзины ФРУКТЫ. Я хотел бы просто использовать уже вычисленные значения косточковых и семечковых фруктов.
Поэтому я создаю словарь, который сообщает мне, является ли компонент простым фруктом или корзиной фруктов. Например
Код: Выделить всё
{'APPLE': 'fruit',
'PEAR': 'fruit',
'APRICOT ': 'fruit',
'POME FRUITS': 'basket',
'STONE FRUITS': 'basket',
'FRUITS': 'basket',
}
Код: Выделить всё
{'APPLE': ('fruit',2),
'PEAR': ('fruit',3),
'APRICOT ': ('fruit',1),
'POME FRUITS': ('basket',800),
'STONE FRUITS': ('basket',50),
'FRUITS': ('basket',850)
}
С другой стороны, если мне придется хранить значение каждой корзины A, с которой я столкнулся, а затем получать это значение из словаря каждый раз, когда оно мне нужно для вычисления стоимости каждой корзины B, включая корзину A, размер моего словаря будет слишком большим, и я боюсь, что это может быть проблемой с памятью.
2. Знаете ли вы эффективный способ (по скорости и времени) справиться с такими данными?
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/783 ... dictionary