2017-04-22 11 views
-3

私はcsvにエクスポートしたい辞書のリストを持っています。リストの形式は次のとおりです。辞書のリストをcsvに変換するには?

dict_list=[{'Country':'US', 'Industry':'Telecom', 'Score':105}, 
      {'Country':'US', 'Industry':'Banking', 'Score':145}] 

キーには列名と各行の値を入力します。誰かが私にそれをやる方法を助けることができますか?

予想される出力:

Country Industry Score 
US   Telecom  105 
US   Banking  145 
+3

[標準CSVドキュメント](https://docs.python.org/3/library/csv.html#csv.DictWriter)この正確な場合の例を持っています。あなたはいくつかの研究をする必要があります。 – tdelaney

答えて

2

あなたはCSVライブラリ

import csv 

dict_list=[{'Country':'US', 'Industry':'Telecom', 'Score':105}, 
      {'Country':'US', 'Industry':'Banking', 'Score':145}] 



with open('names.csv', 'w') as csvfile: 
    fieldnames = ['Country', 'Industry', 'Score'] 
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter='\t') 

    writer.writeheader() 
    for d in dict_list: 
     writer.writerow(d) 

以上のコンパクトを使用することができます。

with open('names.csv', 'w') as csvfile: 
    fieldnames = ['Country', 'Industry', 'Score'] 
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter='\t') 

    writer.writeheader() 
    writer.writerows(dict_list) 

プラス:リスト内の各要素は、我々は、ヘッダを取得するために、次のコードを使用することができ、すべての対応する要素を含んでいると仮定すると。おかげで

fieldnames = dict_list[0].keys() 
+0

'writer.writerows((dict_listのdctのdct))' – martineau

+0

リストはiterableなので、直接使うことができます: 'writer.writerows(dict_list) ' – eyllanesc

+0

もっと良い点です。 ';-)' – martineau

0

を@martineauあなたはpandas使用することができます:ここで

>>> import pandas as pd 
>>> df = pd.DataFrame(dict_list) 
>>> df 
    Country Industry Score 
0  US Telecom 105 
1  US Banking 145 
>>> pd.DataFrame.to_csv(df, 'test.csv', sep=',', index=False) 

をコンマとしてsep aregumentを与えてきている、あなたはあなたの願いどおりに使用することができます。

Beagle:~ kumarshubham$ cat test.csv 
Country,Industry,Score 
US,Telecom,105 
US,Banking,145 
0
import pandas as pd 
dict_list=[{'Country':'US', 'Industry':'Telecom', 'Score':105},{'Country':'US', 'Industry':'Banking', 'Score':145}] 
df= pd.DataFrame(dict_list) 
df.set_index('Country').to_csv('test.csv') 
+1

あなたは簡単な説明を与えることで質問を改善できます – eyllanesc

関連する問題