gpt4 book ai didi

python - 为什么这个 Python 循环无法输出到下一个可用的 excel 行?

转载 作者:太空宇宙 更新时间:2023-11-04 01:21:16 24 4
gpt4 key购买 nike

首先也是最重要的:感谢您提前提供的任何帮助。我是一个完全的编程新手,我的代码会反射(reflect)这一点。我将尝试描述我试图做的事情,并显示代码。再次感谢您的时间和解释。

目标:我想让 python 打开一个现有的 excel 文件 (output.xls),并在下一个可用行中输入一个值(在本例中为“测试文本”)在该文档中。我尝试使用“while”循环和“if”语句来完成此操作。尽管都没有返回错误,但它们都未能正确地将输出移到第二行之后。这就是我得到的。

from xlrd import open_workbook
from xlutils.copy import copy
import xlwt

wb = open_workbook('output.xls',formatting_info=True)
sheet = wb.sheet_by_name("sheet 1")

#This is the simple test text here.
a = 'just a test'

rb = copy(wb)
ws = rb.get_sheet(0)

row = 0
cell = sheet.cell(row,4)

下面我想说的是-WHILE- 单元格不为空(键入 6),然后向该行添加一个并重复。 IE:继续前进,直到您在第四列中找到一个空白行。

while cell.ctype != 6:
row = row + 1

ws.write(row,4,a)

在这里,我希望确认结果。

print cell.ctype
rb.save('output.xls')

无论如何,当我运行代码时,它似乎并没有超过第一行。就好像代码说,“太好了,第一个单元格不是类型 6”,但并没有超越它。尽管在网上搜索了几个小时,但我似乎找不到原因。

非常感谢任何帮助/指导。

--- 编辑 ---

这是我收到的针对建议回复的错误。错误是相同的。

Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\Folder", line 19, in <module>
cell = sheet.cell(row,4)
File "C:\Python27\lib\site-packages\xlrd\sheet.py", line 395, in cell
xfx = self.cell_xf_index(rowx, colx)
File "C:\Python27\lib\site-packages\xlrd\sheet.py", line 421, in cell_xf_index
xfx = self._cell_xf_indexes[rowx][colx]
IndexError: list index out of range

最佳答案

您永远不会移动到下一个单元格。仅更改变量 row 不会影响 cell。请尝试使用此代码:

cell = sheet.cell(row,4)
while cell.ctype != 6:
row = row + 1
if row >= sheet.nrows:
break
cell = sheet.cell(row,4) # <-- actually move the "pointer" in the excel sheet

关于python - 为什么这个 Python 循环无法输出到下一个可用的 excel 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21016246/

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