2017-05-05 198 views
2

我從一個數據框創建一個Python字典,結果包含幾千個條目;將Python字典轉換爲JSON格式

oxford_english = df.set_index('id')['name'].to_dict() 
# Example result: 
{12345: 'companyA'} 

我需要通過改變電流鍵和值分爲以下格式轉換的詞典:

{"id": "12345", "name": "CompanyA"} 

我知道如何改變值和鍵在字典中,但我想不出如何將條目分成新的鍵值對。

所有這些的原因是因爲我需要將字典作爲JSON傳遞給Web API。

有什麼建議嗎?

+1

的可能的複製[轉換這條巨蟒字典成JSON格式?]這是它(http://stackoverflow.com/questions/17167297/convert-this-python-dictionary-into-json-format) – Ashkar

回答

1

如果你真的想要一個JSON你應該使用DataFrames的方法 'to_json':

df.to_json()。

這裏的文檔:pandas.DataFrame.to_json

+0

!謝謝!我無法弄清楚,通過文檔,如果我只能選擇DF中的某些列轉換爲JSON。我錯過了嗎?作爲解決方案,我將所需的列傾倒到新的DF中。 – FunnyChef

+0

您可以創建一個數據幀,其中包含來自原始文件的所需列:newdf = df.iloc [:, 0:5](這裏是從0到5的列)。然後在新數據框中使用該方法。 – bcedu

0

你的標題似乎誤導。如果我沒有誤解,你想從DataFrame獲得一個字典格式。

In [25]: df = pd.DataFrame({'id':[12345, 12346], 'name': ['CompanyA', 'CompanyB 
    ...: ']}) 

In [26]: df 
Out[26]: 
     id  name 
0 12345 CompanyA 
1 12346 CompanyB 
In [29]: df.to_dict(orient='records') 
Out[29]: [{'id': 12345, 'name': 'CompanyA'}, {'id': 12346, 'name': 'CompanyB'}]