0

从我的最后一个问题开始,我已经设法获得了完成我的系统的大部分方法。当然,我遇到了一个问题。

我基本上有一个玩游戏的程序。每个正确答案都会在全局变量“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 =????? [尚未完成]

任何帮助将不胜感激。提前致谢。

4

1 回答 1

0

几天前我对这个问题的回答非常相关。

基本上出了什么问题,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)
于 2014-01-22T21:09:27.417 回答