2017-06-20 8 views
-6

私はPython 2.7.9で辞書を持っています。私はスプレッドシートの辞書にデータを表示したい。どうすればこれを達成できますか?辞書には15種類以上のアイテムがあります。Pythonでデータをスプレッドシートに接続

辞書:

{'Leda Doggslife': '$13.99', 'Carson Busses': '$29.95', 'Derri Anne Connecticut': '$19.25', 'Bobbi Soks': '$5.68', 'Ben D. Rules': '$7.50', 'Patty Cakes': '$15.26', 'Ira Pent': '$16.27', 'Moe Tell': '$10.09', 'Ido Hoe': '$14.47', 'Ave Sectomy': '$50.85', 'Phil Meup': '$15.98', 'Al Fresco': '$8.49', 'Moe Dess': '$19.25', 'Sheila Takya': '$15.00', 'Earl E. Byrd': '$8.37', 'Rose Tattoo': '$114.07', 'Gary Shattire': '$14.26', 'Len Lease': '$11.11', 'Howie Kisses': '$15.86', 'Dan Druff': '$31.57'} 
+1

これまでに何を試みましたか?どのような特定の部分に問題がありますか?あなたはGoogleの "python spreadsheet"でしたか? –

+0

はい、私はそれを調べました。それは私のCSVファイルの作成を示していましたが、名前と価格ごとに新しい行を追加することができませんでした。 –

答えて

0

は、Excelスプレッドシートであなたの辞書を作成しようとしていますか?このコードは、ブックが既に存在しているだけであれば動作すること

import win32com.client 
xlApp = win32com.client.DispatchEx('Excel.Application') 
xlApp.Visible = 0 
xlBook = xlApp.Workbooks.Open(my_filename) 
sht = xlBook.Worksheets(my_sheet) 
row = 1 
for element in dict.keys(): 
    sht.Cells(row, 1).Value = element 
    sht.Cells(row, 2).Value = dict[element] 
    row += 1 
xlBook.Save() 
xlBook.Close() 

注: このケースでは、ライブラリをwin32com使用することができます。 そうでない場合:

import win32com.client 
xlApp = win32com.client.DispatchEx('Excel.Application') 
xlApp.Visible = 0 
xlBook = xlApp.Workbooks.Add() 
sht = xlBook.Worksheets(my_sheet) 
row = 1 
for element in dict.keys(): 
    sht.Cells(row, 1).Value = element 
    sht.Cells(row, 2).Value = dict[element] 
    row += 1 
xlBook.SaveAs(mw_filename) 
xlBook.Close() 

私はそれがあなたの質問に正解することを願っています。

+0

ありがとう、私は確かにこれを試してみます。ただし、辞書を変更してプログラムを再実行すると、以前のデータを削除せずに既存のスプレッドシートを更新してデータを追加しますか? –

+0

Excelファイルのデータが上書きされます。ファイル内の既存のデータにデータを追加する場合は、列の長さを計算し、その行の後に書き出しを開始することができます。たとえば、行の値の初期化とforループの間に、この2つのコード行(whileループ)を追加することができます。while sht.Cells(row、1):row + = 1 – CunivL

関連する問題