Извлечение данных из словаря, структурированного в виде списков - PullRequest
0 голосов
/ 25 марта 2020

У меня есть данные, структурированные в форме st

('["02100 - Albuquerque", "21: Mining", "2015", "1stqtr"]',
[6377340.58, 1783304.5, 124831.3, 0, 0]),

('["02200 - Los Ranchos de Albuquerque", "21: Mining", "2015", "1stqtr"]',
['*', '*', '*', '*', '*']),

('["03003 - Eddy County, Remainder", "21: Mining", "2015", "1stqtr"]',
[180120046.18, 113335033.42, 6518842.46, 0, 0]),

('["03106 - Carlsbad", "21: Mining", "2015", "1stqtr"]',
[31013031.93, 22417664.82, 1640017.58, 0, 0]),

('["02100 - Albuquerque", "21: Mining", "2015", "2ndqtr"]',
[7791546.64, 2305762.85, 161737.54, 0, 0]),

('["02200 - Los Ranchos de Albuquerque", "21: Mining", "2015", "2ndqtr"]',
['*', '*', '*', '*', '*']),

('["03003 - Eddy County, Remainder", "21: Mining", "2015", "2ndqtr"]',
[131428830.21, 78906981.18, 4529132.1, 0, 0]),

('["03106 - Carlsbad", "21: Mining", "2015", "2ndqtr"]',
[41144494.15, 28958781.08, 2158603.95, 0, 0]),

И когда я использую функцию

def search_and_export(dictionary, substr):
result = []
for key in dictionary:
    if substr in key:
        result.append((key, dictionary[key]))
        print("")
        print("This is the key: " + key)
        print(“")

, я получаю:

This is the key: ["02100 - Albuquerque", "21: Mining", "2015", “1stqtr”] 
etc...

Что я хотел бы сделать, это определить функцию, которая позволила бы мне искать в словаре и позволять мне находить только

('["02100 - Albuquerque”, "21: Mining”, “2015", “1stqtr"]', [6377340.58])
('["02100 - Albuquerque", "21: Mining", "2015", "2ndqtr"]’, [7791546.64])

Затем экспортировать значение в CSV с именем файла "02100 - Альбукерке / 21: Mining / 2015 / 1stqtr »и« 02100 - Альбукерке / 21: Mining / 2015 / 2ndtqtr »соответственно

1 Ответ

0 голосов
/ 25 марта 2020

Нашел решение для этого. Действительно просто. Я сделал это для Альбукерке. Просто нужно сделать простой экспорт в CSV сейчас.

def search_and_export(dictionary):

for key, value in dictionary.items():
    if "02100 - Albuquerque" in key:
        if "21: Mining" in key:

            print("")
            print("This is the key: " + key)
            print("This is the value: " + str(value[0]))
            print("")


pprint(search_and_export(dataDict))

ВЫХОД

This is the key: ["02100 - Albuquerque”, "21: Mining", "2015”, "1stqtr"]
  This is the value: 180120046.18


This is the key: ["02100 - Albuquerque”, "21: Mining", "2015", "2ndqtr"]
  This is the value: 131428830.21


This is the key: ["02100 - Albuquerque”, "21: Mining", "2015", "3rdqtr"]
  This is the value: 99306332.26


This is the key: ["02100 - Albuquerque”, "21: Mining", "2015", "4thqtr"]
  This is the value: 122534519.98
...