Python словарь в CSV с горизонтальной ориентацией - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть простой словарь Python в формате:

{"key1":1,"key2":42,"key3":"foo"}

И я хотел бы сохранить в CSV-файл, в котором ключи являются заголовками и значениями значения ячеек второй строки:

| "key1"  | "Key2" | "key3" |  
| 1       | 42     | "foo" |

файл csv будет иметь только 2 строки.

Я думаю, что возможно использовать csv и python, но не могу найти правильный подход (это должно быть так просто).Мои строки / столбцы всегда меняются местами.

Ответы [ 4 ]

0 голосов
/ 12 сентября 2018

вы тоже можете попробовать вот так

d = {"key1":1,"key2":42,"key3":"foo"}

df = pd.DataFrame.from_dict(d, orient='index').T
print(df)
  key1 key2 key3
0    1   42  foo
0 голосов
/ 12 сентября 2018

Вот один из способов:

df = pd.DataFrame([d])

df.to_csv('out.csv', index=False)

print(df)

   key1  key2 key3
0     1    42  foo

Обратите внимание, что конструктор pd.DataFrame принимает list словарей.Здесь в списке только один словарь, но этого достаточно.

0 голосов
/ 12 сентября 2018

Очевидные ответы уже опубликованы. Дайте выстрел в NumPy. Кроме того, это не будет касаться заказа.

import numpy as np
d={"key1":1,"key2":42,"key3":"foo"}
a=np.array([d.keys()])
b=np.array([d.values()])
x=np.concatenate([a,b],0)

np.savetxt('x.csv',x,delimiter=',',fmt='%s')
0 голосов
/ 12 сентября 2018

Если вы dict называете d

pd.Series(d).to_frame().T
Out[55]: 
  key1 key2 key3
0    1   42  foo
#pd.Series(d).to_frame().T.to_csv()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...