2015-02-17 5 views
0

У меня есть список, как это:отдельный текст и цифры и конвертировать в dataframe в питона

[['fast_ema_period=22', ' slow_ema_period=10', ' signal_period=34', ' StopLoss=190', ' TakeProfit=140', ' Slippage=1', ' MagicNumber=0', ' '], 

['fast_ema_period=4', ' slow_ema_period=22', ' signal_period=14', ' StopLoss=180', ' TakeProfit=170', ' Slippage=1', ' MagicNumber=0', ' '], 

['fast_ema_period=32', ' slow_ema_period=10', ' signal_period=24', ' StopLoss=180', ' TakeProfit=120', ' Slippage=1', ' MagicNumber=0', ' '], 

['fast_ema_period=40', ' slow_ema_period=46', ' signal_period=36', ' StopLoss=40', ' TakeProfit=130', ' Slippage=1', ' MagicNumber=0', ' ']] 

и я хотел бы, чтобы преобразовать его в панд dataframe с:

колонок: [fast_ema_period, slow_ema_period, signal_period, StopLoss,TakeProfit, Slippage, MagicNumber]

и значения в теле таблицы.

Большое вам спасибо.

+0

Почему не словарь? –

ответ

0

Простой.

from collections import defaultdict 
# Use a default dict to make our life easier (we already know we are working with lists) 
data = defaultdict(list) 
# Get each item from each list, the below list-comprehension is efficient. 
for item in [item for sublist in biglist for item in sublist if '=' in item]: 
    key, value = item.split('=', 1) # split the items on '=' but only once. 
    data[key].append(value) # add our new value to our dictionary. 

pd.DataFrame(data) # tada! 
+0

Большое вам спасибо за помощь! – user1851008