написать список в Excel, начиная с определенной ячейки, с помощью openpyxl

#python-3.x #openpyxl

#python-3.x #openpyxl

Вопрос:

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

 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]
  

Комментарии:

1. Пожалуйста, опубликуйте полный источник ошибки, которую вы видите.

Ответ №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")