2016-10-24 2 views
1

Я пытаюсь написать список значений в электронную таблицу Excel, начиная с определенной ячейки. Значения будут записываться периодически, а новые значения заменяют существующие значения, поэтому запись всегда начинается в ячейке F2. Я пробовал несколько версий, которые я нашел на SO и другие сайты, но я получаю различные ошибки, большинство недавно KeyError = 0 для этих усилий:написать список Excel, начиная с определенной ячейки, с 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] 

Пожалуйста, помогите! Спасибо заранее.

Edit - Я нашел решение в «Автоматизировать скучный с Python», глава 12. Я обратился мой dataframe к словарю, а затем это работает:

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")