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