gpt4 book ai didi

python - 值错误: Row or column values must be at least 1 when using OpenPyXl

转载 作者:行者123 更新时间:2023-12-01 03:19:12 39 4
gpt4 key购买 nike

我一直在使用 Yves Hilpisch 的 Python for Finance,特别是第 12 章作为学习如何集成 Excel 和 Python 的指南。我目前正在学习如何使用 OpenPyxl。然而,我直接从书中复制的代码不起作用,并且我不断收到 ValueError 。这是我正在使用的代码:

#use openpyxl and numpy
import numpy as np
import openpyxl as oxl

#create workbook object
wb = oxl.Workbook()
#create worksheet object
ws = wb.create_sheet(index=0, title='oxl_sheet')
#create data array
data = np.arange(1, 65).reshape((8, 8))
#write bulk data to worksheet
for c in range(data.shape[0]):
for r in range(data.shape[1]):
ws.cell(row=r, column=c).value = data[c, r]
# creates a Cell object and assigns a value
#save and close workbook
wb.save('oxl_book.xlsx')

这是我收到的错误:

Traceback (most recent call last):
File "test1.py", line 14, in <module>
ws.cell(row=r, column=c).value = data[c, r]
File "C:\Anaconda2\lib\site-packages\openpyxl\worksheet\worksheet.py", line 307,in cell raise ValueError("Row or column values must be at least 1")
ValueError: Row or column values must be at least 1

我使用的是 python 2.7,这可能是问题所在吗?我感谢任何和所有的帮助。

最佳答案

就像我在评论中提到的,对于 Excel,您需要从 1 开始行和列,而不是 0(这就是 range 发生的情况)。

这对我有用:

for c in range(1, data.shape[0] + 1):
for r in range(1, data.shape[1] + 1):
ws.cell(row=r, column=c).value = data[c - 1, r - 1]

此外,我知道您可以使用 excel 和 python win32com 一次编写整个数组(这比逐个单元快得多),所以我确信 openpyxl 也有一些功能。

关于python - 值错误: Row or column values must be at least 1 when using OpenPyXl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102690/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com