Как преобразовать вложенный список в словарь? - PullRequest
0 голосов
/ 24 февраля 2019

В настоящее время я работаю над заданием, в котором мне нужно преобразовать вложенный список в словарь, где я должен отделить коды от вложенного списка ниже.

data = [['ABC', "Tel", "12/07/2017", 1.5, 1000],['ACE', "S&P", "12/08/2017", 3.2, 2000],['AEB', "ENG", "04/03/2017", 1.4, 3000]] 

, чтобы получить это

Code    Name    Purchase Date   Price   Volume
ABC     Tel     12/07/2017      1.5     1000
ACE     S&P     12/08/2017      3.2     2000
AEB     ENG     04/03/2017      1.4     3000

, поэтому оставшиеся значения все еще находятся в списке, но помечены для кодов как ключи.

Может кто-нибудь дать совет по этому вопросу, пожалуйста, спасибо!

Ответы [ 3 ]

0 голосов
/ 24 февраля 2019

Для этого вы можете использовать pandas dataframe:

import pandas as pd
data = [['ABC', "Tel", "12/07/2017", 1.5, 1000],['ACE', "S&P", "12/08/2017", 3.2, 2000],['AEB', "ENG", "04/03/2017", 1.4, 3000]] 

columns = ["Code","Name","Purchase Date","Price","Volume"]
df = pd.DataFrame(data, columns=columns)
print(df)
0 голосов
/ 24 февраля 2019

Вы можете использовать dictcomp:

keys = ['Code','Name','Purchase Date','Price','Volume']

{k: v for k, *v in zip(keys, *data)}

Результат:

{'Code': ['ABC', 'ACE', 'AEB'],
 'Name': ['Tel', 'S&P', 'ENG'],
 'Purchase Date': ['12/07/2017', '12/08/2017', '04/03/2017'],
 'Price': [1.5, 3.2, 1.4],
 'Volume': [1000, 2000, 3000]}
0 голосов
/ 24 февраля 2019

Я предполагаю, что под словарями вы подразумеваете список словарей, каждый из которых представляет строку с заголовком в качестве ключей.

Вы можете сделать это следующим образом:

keys = ['Code','Name','Purchase Date','Price','Volume']
dictionaries = [ dict(zip(keys,row)) for row in data ]
...