python - Openpyxl:迭代单元格范围

标签 python excel openpyxl

我会将从列表中获取的值序列写入一系列单元格。

查看

def create_excel(avg):
    wb = load_workbook('output/file_base.xlsx')
    ws = wb.active

    ws['D20'] = avg[0]
    ws['D21'] = avg[1]
    ws['D22'] = avg[2]
    ws['D23'] = avg[3]
    ws['D24'] = avg[4]
    ws['D25'] = avg[5]


    wb.save('out.xlsx')

    return 1

我会使用循环来完成此操作,并且我尝试了以下操作:

start, stop = 20,26
for index, row in enumerate(ws.iter_rows()):
    if start < index < stop:
        ws.cell[index] = avg[index]

但它返回:

list index out of range

我怎样才能做到这一点?我正在使用 openpyxl 2.3

最佳答案

您可以按如下方式指定行和列:

import openpyxl

avg = [10, 20, 25, 5, 32, 7]

wb = openpyxl.load_workbook('output/file_base.xlsx')
ws = wb.active

for row, entry in enumerate(avg, start=20):
    ws.cell(row=row, column=4, value=entry)

wb.save('out.xlsx')

这会迭代您的平均值,并使用 Python 的 enumerate同时为您计数的功能。通过告诉它以值 20 开始,它就可以用作写入单元格的行值。

关于python - Openpyxl:迭代单元格范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956936/

相关文章:

python - 为什么我使用pystray时无法关闭?

python - 在 Python 中绘制 3d 数组的最有效方法是什么?

c# - 尝试在 C# 中更改工作表名称时出现奇怪的错误

python - 使用openpyxl旋转Excel图表的轴

Python Openpyxl 在 xlsx 中找不到数字

打开pyxl+load_workbook+AttributeError : 'NoneType' object has no attribute 'date1904'

python - pandas 方式将一天中的时间(有效 datetime.time)转换为浮点变量

java - 如何在Java 1.4中读取xlsx文件?

vba - Excel VBA 代码返回错误

python - 将 Azure Blob CSV 读取到 Python Pandas DF 中的问题