2016-10-24 12 views
1

私は特定のセルから始まる、Excelのスプレッドシートに値のリストを記述しようとしていますし、特定のセルから始まる、Excelへのリストを書きます。値は定期的に書き込まれ、新しい値が既存の値に置き換えられるため、書き込みは常にセルF2から開始されます。私は私がSOに見られる複数のバージョンや他のサイトを試してみましたが、私はこれらの取り組みのために様々なエラー、= 0最近KeyError例外を取得しておいてください。openpyxl

for rowNum in range(len(list)): 
    ws.cell(row=rowNum+1, column=5).value = list[rowNum] 

for i in range(len(list)): 
    ws['F' + r].value = list[i+1] 

助けてください!事前に多くの感謝。

編集 - 私は辞書に私のデータフレームに変換してから、これは働いていた、「Pythonのでボーリングスタッフを自動化」の章12解決策を見つけた:

for rowNum in range(2, ws.max_row): 
    item = ws.cell(row=rowNum, column=1).value 
    if item in new_dict: 
     ws.cell(row=rowNum, column=5).value = new_dict[item] 
+0

表示されているエラーの完全な情報を投稿してください。 –

答えて

1

私は以下のスクリプトを試してみましたが、それ私のためにうまくいった。

from openpyxl import Workbook 
wb = Workbook() 

# grab the active worksheet 
ws = wb.active 

# Data can be assigned directly to cells 
ws['A1'] = 42 

# Rows can also be appended 
ws.append([1, 2, 3]) 

# Python types will automatically be converted 
import datetime 
ws['A2'] = datetime.datetime.now() 

# Save the file 
wb.save("C:\\Users\\your_path_here\\Desktop\\sample.xlsx")