从我上一个问题开始,我已经成功地完成了我的系统完成的一大部分工作。当然,我遇到了一个问题。
我基本上有一个玩游戏的程序。每个正确的答案都会为全局变量'points'增加10。然后我想在excel电子表格中添加“点数”。
这是我陷入困境的地方。我正在运行XLRD-0.8.0,XLUTILS-1.4.1和XLWT-0.7.5。
当然我查了不同的东西,但它们似乎对我不起作用。
这是我的代码的简化版本:
import pygame, pygame.font, pygame.event, string, xlwt, xlrd, xlutils, socket
points = 0
def Uploadpoints(wbname):
global points
wb = xlrd.open_workbook(wbname)
# CODE TO FIND FIRST EMPTY CELL IN COLUMN 1 GOES HERE
wb.write(row,0,points)
wb.save()
Uploadpoints('workbook1.xls')
我想过做这样的事情,但我不确定如何去做,所以我发布了伪代码。
定义工作表:ws = 'sheet 1'
[完成]
定义列:col = 0 [column A]
[完成]
在col中搜索第一行为空:??? [未完成]
将第一行空行定义为行:row =
????? [未完成]
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
几天前我对this question的回答是非常重要的。
基本上出错的是xlrd
和xlwt
是具有不同对象的不同模块。您使用xlrd.open_workbook()
读取的对象不是 xlwt
知道如何写入的同一对象
为了解决这个问题,我需要xlutils
中的复制功能。
from xlutils.copy import copy
import os
wb = xlrd.open_workbook(name)
# Code to find the last open cell
wb = copy(wb) #This is the important line!
sheet = wb.get_sheet(num) #num is the index of the sheet you want to edit
sheet.write(whatever you want to write)
wb.save(name)