2016-06-22 10 views
0

Ive получил словарь в следующем формате key[0],key[1], value im, пытающийся поместить этот dict в DataFrame, а затем записать его в файл csv. Теперь попытка выяснить, как отформатировать DataFrame, вызывает у меня боль. Ive читать docs но я не могу работать, как формат кадра так, чтобы каждая строка выглядит следующим образомPythons Pandas `from_dict` formating` to_csv`

column1 column2 column3 
key[0] key[1] value 
key[0] key[1] value 
key[0] key[1] value 

Affectivley идентификатор, чтобы иметь возможность выполнять следующие действия, чтобы создать FormData. Я использовал CsvWriter, но я хотел для сортировки по ключевым [0] при записи в Csv так думали, панд будет простой ответ: P, и здесь мы лол

for key, value in dict.items(): 
    print key[0],key[1], value 

ответ

2

Вы можете легко построить данные панд кадр из списка кортежей.

d = {(0,1): 'a', (0,2): 'b', (1,2): 'c'} 

data = [(k1,k2,v) for (k1,k2),v in d.items()] 
df = pd.DataFrame(data, columns=['key1', 'key2', 'value']) 
df 

Выходы:

key1 key2 value 
0 0 1 a 
1 1 2 c 
2 0 2 b 

Затем написать в CSV:

df.to_csv('filePath') 
+0

Arr нормально имеет смысл. Где будет сортировка по первому столбцу? Во время создания DF или при написании csv? – iNoob

+1

@iNoob, вы можете сделать это между созданием и записью данных в файл с помощью 'df = df.sort_values ​​(by = ['key1', 'key2'])' –

+1

Я только что сработал, пошел с 'df. sort_values ​​('Key1', восходящий = True, inplace = True) ' – iNoob

Смежные вопросы