Я пытаюсь создать базу данных переменных в Python из большого файла CSV. Любая строка в файле CSV может быть однозначно идентифицирована из 4 столбцов.
Чтобы дать представление о структуре данных:
Supplier A
Tariff RateA
Region 1
Payment Method 1
Payment Method 2
Region 2
Payment Method 1
Tariff Rate B
Region 1
Payment Method 1
Payment Method 2
Region 2
Payment Method 1
Supplier B etc...
Как только я могу однозначно определить строку, я выполняю вычисления, используя другую информацию в этой строке, чтобы создать список трехмерных массивов.
Затем я создам словарь, связывающий каждую переменную в базе данных с соответствующим массивом.
Тогда я бы хотел получить эти массивы для сравнения / анализа и т. Д. *
Чтобы создать базу данных, я скопировал приведенный ниже код, который очень медленный, и в настоящее время я не уверен, будет ли создание пустого списка перед каждым циклом for иметь желаемый результат? Любой вклад или предложения будут с благодарностью.
supplier_log = []
for supplier in Tariff_Book.Supplier_Name:
if supplier not in supplier_log:
print("Supplier: " + supplier)
supplier_log.append(supplier)
tariff_log = []
temp = Tariff_Book.query('Supplier_Name == @supplier')
for tariff in temp.Tariff_Name:
if tariff not in tariff_log:
print("Tariff: " + tariff)
tariff_log.append(tariff)
region_log = []
temp = Tariff_Book.query('Supplier_Name == @supplier & Tariff_Name == @tariff' )
for region in temp.Region:
if region not in region_log:
print("Region: " + str(region))
region_log.append(region)
payment_method_log = []
temp = Tariff_Book.query('Supplier_Name == @supplier & Tariff_Name == @tariff & Region == @region')
for payment_method in temp.Payment_Method:
if payment_method not in payment_method_log:
print("Payment Method: " + payment_method)
payment_method_log.append(payment_method)